Tasker 不能捕捉到未接来电的状态和事件 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Tonni

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

  •  
  •   Tonni 2017 年 7 月 14 日 16268 次点击
    这是一个创建于 3206 天前的主题,其中的信息可能已经有所发展或是发生改变。

    遇到一个 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:

    image

    Task:

    image

    第 1 条附言    2017 年 7 月 15 日

    Tasker Profile 和 Task,导入前在 SD 卡上新建一个叫 MissedCallsLog 的目录。

    <TaskerData sr="" dvi="1" tv="4.9u4m"> <Profile sr="prof22" ve="2"> <cdate>1499963747890</cdate> <edate>1500077287871</edate> <id>22</id> <mid0>4</mid0> <pri>50</pri> <Event sr="con0" ve="2"> <code>2003</code> <Str sr="arg0" ve="3">C:ANY</Str> </Event> </Profile> <Project sr="proj0" ve="2"> <cdate>1480560162335</cdate> <mdate>1500077301528</mdate> <name>Base</name> <pids>22</pids> <tids>4</tids> <Img sr="icon" ve="2"> <nme>hl_aaa_ext_home</nme> </Img> </Project> <Task sr="task4"> <cdate>1500005533281</cdate> <edate>1500077287871</edate> <id>4</id> <nme>WriteFile</nme> <pri>100</pri> <Action sr="act0" ve="7"> <code>410</code> <Str sr="arg0" ve="3">MissedCallsLog/mc.txt</Str> <Str sr="arg1" ve="3">haha</Str> <Int sr="arg2" val="1"/> <Int sr="arg3" val="1"/> </Action> </Task> </TaskerData> 
    第 2 条附言    2017 年 7 月 15 日

    使用事件监听依然不可以捕捉到未接电话:

    <TaskerData sr="" dvi="1" tv="4.9u4m"> <Profile sr="prof2" ve="2"> <cdate>1500129018625</cdate> <edate>1500129018625</edate> <id>2</id> <mid0>4</mid0> <Event sr="con0" ve="2"> <code>2003</code> <pri>0</pri> <Str sr="arg0" ve="3">C:ANY</Str> </Event> </Profile> <Project sr="proj0" ve="2"> <cdate>1480560162335</cdate> <mdate>1500129018625</mdate> <name>Base</name> <pids>2</pids> <tids>4</tids> <Img sr="icon" ve="2"> <nme>hl_aaa_ext_home</nme> </Img> </Project> <Task sr="task4"> <cdate>1500005533281</cdate> <edate>1500129028716</edate> <id>4</id> <nme>WriteFile</nme> <pri>100</pri> <Action sr="act0" ve="7"> <code>410</code> <Str sr="arg0" ve="3">MissedCallsLog/mc.txt</Str> <Str sr="arg1" ve="3">haha</Str> <Int sr="arg2" val="1"/> <Int sr="arg3" val="1"/> </Action> </Task> </TaskerData> 
    第 3 条附言    2017 年 7 月 15 日
    已经把问题发到官方 forum 里了: https://groups.google.com/forum/#!topic/tasker/2iWrLEFhl_o
    17 条回复    2017-12-20 15:04:14 +08:00
    hzcxdgioa
        1
    hzcxdgioa  
       2017 年 7 月 14 日   1
    miui 就不要折腾了,他是深度定制系统,一些东西已经改变了,或者删掉了,tasker 是按照原生设计的,不遵照原生的系统,系统改得差不多,根本不可能完全相互兼容,劝你找个原生试试,如果原生没问题,还是放弃吧。
    abmin521
        2
    abmin521  
       2017 年 7 月 15 日 via Android   1
    楼上加一 另外建议把 profile 导出发上来
    loveyu
        3
    loveyu  
       2017 年 7 月 15 日 via Android   1
    我改用 automate 了
    greenskinmonster
        4
    greenskinmonster  
       2017 年 7 月 15 日   1
    试试 5.0beta 版?
    http://tasker.dinglisch.net/beta.html

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

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

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

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

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

    我感觉这是可行的
    当然,如果有误导,也望理解
    Tonni
        8
    Tonni  
    OP
       2017 年 7 月 15 日
    @haozi1986 非常感谢你的回复,我之前已经尝试使用 Event 的 Missed Call 来进行监听了,但是依然没有效果,我把我的 Event 配置 Appended 到帖子的下面了。实在不行借一台 Google Nexus 来在原生 Android 上试试。
    haozi1986
        9
    haozi1986  
       2017 年 7 月 16 日   1
    @Tonni

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

    手机:Nexus 6
    Android 版本:7.1.2 (六月安全补丁)
    Tasker 版本:5.0b5
    haozi1986
        10
    haozi1986  
       2017 年 7 月 16 日   1
    <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
        11
    flynaj  
       2017 年 7 月 16 日 via Android   1
    你确定给个所有权限
    Tonni
        12
    Tonni  
    OP
       2017 年 7 月 16 日
    @haozi1986 @flynaj

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

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

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

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

    如果全部都正常,那没道理不工作的
    Tonni
        15
    Tonni  
    OP
       2017 年 7 月 19 日
    @haozi1986 已确认,这些权限/设置都一一开启了,我也按照官方的说明: http://tasker.dinglisch.net/userguide/en/androidpowermanagement.html 设置了。

    但是还是不行,捕捉不到任何通话相关的事件/状态,这...
    Tonni
        16
    Tonni  
    OP
       2017 年 7 月 24 日
    @haozi1986
    @flynaj
    @greenskinmonster
    @abmin521
    @hzcxdgioa

    感谢之前的关注,Google Group 里面有人指出了问题的原因: https://groups.google.com/d/msg/tasker/2iWrLEFhl_o/XmtvYF7IAwAJ
    cui0wei0
        17
    cui0wei0  
       2017 年 12 月 20 日 via iPhone
    @Tonni 我把勿扰模式打开就可监听了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2451 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 66ms UTC 15:56 PVG 23:56 LAX 08:56 JFK 11:56
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86