Tasker 不能捕捉到未接来电的状态和事件

2017-07-14 22:20:09 +08:00
 Tonni

遇到一个 Tasker 的问题,今天在同事的 Moto X 上尝试也遇到了同样的问题,如果有安装 Tasker 的手机的话帮我测试下,谢谢 ;-)

环境

手机:小米 2

OS:MIUI 8.1 stable global

Android 版本:5.0.2

Tasker 版本:4.9u4 Google Play 版

权限:已授予 Tasker 所有权限

问题描述

在 Tasker 里面设置了一个任务:当手机有未接来电时把未接来电的号码写入到一个文件中,手动执行写入文件的 task 可以正常写入,但是当电话打过来时写入文件的操作却不能被执行,开启 log 后显示有未接电话时根本没有执行任何操作。

Profile:

Task:

12226 次点击
所在节点    Android
17 条回复
hzcxdgioa
2017-07-14 22:31:24 +08:00
miui 就不要折腾了,他是深度定制系统,一些东西已经改变了,或者删掉了,tasker 是按照原生设计的,不遵照原生的系统,系统改得差不多,根本不可能完全相互兼容,劝你找个原生试试,如果原生没问题,还是放弃吧。
abmin521
2017-07-15 00:08:29 +08:00
楼上加一 另外建议把 profile 导出发上来
loveyu
2017-07-15 06:18:57 +08:00
我改用 automate 了
greenskinmonster
2017-07-15 08:43:24 +08:00
试试 5.0beta 版?
http://tasker.dinglisch.net/beta.html

有些触发条件貌似亮屏解锁情况是即时的,锁屏时则不一定
woyaojizhu8
2017-07-15 14:15:10 +08:00
automate, 比 tasker 易用很多
haozi1986
2017-07-15 22:00:35 +08:00
楼主这个为何不工作,我的理解是这样的
因为你的配置文件里,未接来电用的是一个状态,不是一个事件,所以当用它来触发一个任务的时候,有可能会因为 tasker 监控的原因漏掉,造成无法触发
楼主可以试试事件 Events 里面的那个漏接来电

这只是一个建议,因为我现在没有未接来电,不能帮你测试,很有可能我说的不准确
haozi1986
2017-07-15 22:14:17 +08:00
顺便补一句,据我的使用经验,即便在系统中给予了 takser 全部权限,包括一些特殊的比如在设备管理器中开启 tasker,也不能保证 tasker 能够随时响应,因为在现在的 android 系统中,即便是原生系统,互相制约的因素还是有点多,若要随时响应,唯一的方式大概是在 tasker 的系统设置中调整各种监控时长,但是这无疑会造成不必要的耗电,得不偿失。

回到楼主的这个配置上面来,楼主的配置使用的是以未接来电的状态来触发事件,由于未接来电在没有取消的时候,它是一个持续性的状态,如果 tasker 在监控的过程中错过了某一个时间节点,那么这一状态就不会得到响应,甚至于 tasker 会误认为这个已经得到了响应所以选择了忽略,继而无法触发后续任务

但是在 tasker 的事件 Events 中也有一个未接来电的触发选项,按照我的理解,这个的响应应该会更为及时,因为是即时触发的,不存在因为系统原因造成延时而错过。

楼主可以试试我说的这个,用 Events 中的未接来电来触发

我感觉这是可行的
当然,如果有误导,也望理解
Tonni
2017-07-15 22:54:39 +08:00
@haozi1986 非常感谢你的回复,我之前已经尝试使用 Event 的 Missed Call 来进行监听了,但是依然没有效果,我把我的 Event 配置 Appended 到帖子的下面了。实在不行借一台 Google Nexus 来在原生 Android 上试试。
haozi1986
2017-07-16 10:27:40 +08:00
@Tonni

我刚刚测试了一下, 用 event 可以正常工作
这样说来应该是你的手机系统与 tasker 之间不兼容造成的了

手机:Nexus 6
Android 版本:7.1.2 (六月安全补丁)
Tasker 版本:5.0b5
haozi1986
2017-07-16 10:33:21 +08:00
<TaskerData sr="" dvi="1" tv="5.0b5m">
<Profile sr="prof21" ve="2">
<cdate>1500171617609</cdate>
<edate>1500172132127</edate>
<id>21</id>
<limit>true</limit>
<mid0>9</mid0>
<nme>Test</nme>
<Event sr="con0" ve="2">
<code>2003</code>
<pri>0</pri>
<Str sr="arg0" ve="3">C:ANY</Str>
</Event>
</Profile>
<Task sr="task9">
<cdate>1500005533281</cdate>
<edate>1500171725922</edate>
<id>9</id>
<nme>WriteFile</nme>
<pri>100</pri>
<Action sr="act0" ve="7">
<code>410</code>
<Str sr="arg0" ve="3">temp/mc.txt</Str>
<Str sr="arg1" ve="3">%CDATE - %CNUM</Str>
<Int sr="arg2" val="1"/>
<Int sr="arg3" val="1"/>
</Action>
</Task>
</TaskerData>
flynaj
2017-07-16 15:03:02 +08:00
你确定给个所有权限
Tonni
2017-07-16 16:09:45 +08:00
@haozi1986 @flynaj

感谢回复,早上重新把手机数据全部清除恢复出厂设置后重新安装 Tasker 并给予所有权限也是不能捕捉到状态/事件,我刚才下载了 Automate,配置了自动回复短信至未接电话的脚本也是不能正常执行,log 里面没有任何动态,感觉就是这类自动化工具对于魔改的 MIUI 束手无策。
Tonni
2017-07-19 00:54:42 +08:00
@flynaj @haozi1986 我昨天拿了一台红米 Note 3 全网通版,刷了最新的 Lineage 14.1,Android 7.1.2 的版本,折腾了老半天结果还是不行,权限都给了,我实在是想不明白为什么了。
haozi1986
2017-07-19 07:12:25 +08:00
除了应用权限全给以外,你再确认一下这些设置:

无障碍
设备管理器
可出现在其他应用上的应用
通知使用权
电源优化模式
可修改系统设置

看看这些设置是否全部为 Tasker 开启(你的这个需求不一定需要开启全部,但是为以防万一,建议全部开启)
如果有些设置找不到在哪里,你可以试试 5.0beta 版,里面有这些设置选项的跳转菜单,在 more > android setting 里面

另外,看看你的 takser 设置的 Monitor 里面,Run In Foreground 是否开启,同页面下面的各个选项你也可以多看看

如果全部都正常,那没道理不工作的
Tonni
2017-07-19 09:42:27 +08:00
@haozi1986 已确认,这些权限/设置都一一开启了,我也按照官方的说明: http://tasker.dinglisch.net/userguide/en/androidpowermanagement.html 设置了。

但是还是不行,捕捉不到任何通话相关的事件/状态,这...
Tonni
2017-07-24 10:29:59 +08:00
@haozi1986
@flynaj
@greenskinmonster
@abmin521
@hzcxdgioa

感谢之前的关注,Google Group 里面有人指出了问题的原因: https://groups.google.com/d/msg/tasker/2iWrLEFhl_o/XmtvYF7IAwAJ
cui0wei0
2017-12-20 15:04:14 +08:00
@Tonni 我把勿扰模式打开就可监听了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/375438

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX