Tasker是一个传说中“只有想不到,没有做不到”的Android软件,当然,使用如此“神器”肯定也会遇到不少麻烦的。本文整理出了自己使用Tasker遇到的一些的问题和解决方案,并以FAQ的形式列举出来。
本文将不定期更新,如果你有好的Profile或者使用Tasker的经历愿意分享给大家的话,欢迎留言或投稿给本站。
1、如何获取Perform Task
的返回值?
如果要获取子Task(被调用的Task)的返回值,必须确保父Task(调用的Task)优先级比子Task的优先级低(根据我的使用经验需要将子Task的优先级设为10才可以)。
由于Tasker在同一时间只允许一个Task运行,当父Task调用子Task时,高优先级的子Task将中断父Task,在子Task运行结束后父Task获得返回值并继续运行。
2、为什么调用Shell后Tasker会卡死?
测试发现Tasker对Shell的支持并不是很好。如果在后台调用shell(即通过事件调用或在javascript里调用),将导致shell执行不返回结果,此时Tasker将一直等待(即使设置了Shell超时也没用)。由于任务默认优先级相等,而Tasker只能同时运行一个任务,后面等待运行的任务将任务队列填满,此时新的任务不会执行,也不能进队列等待,Tasker将弹出警告信息。
卡死后的解决办法就是重启Tasker,先禁用再启用即可。
建议尽量不要使用Shell,如果一定要,则必须在前台调用,比如通过点击一个按钮来调用。
2013-02-15更新:Tasker调用Shell会卡死的原因是因为Shell没有退出,在执行Shell后加一条exit命令退出即可,不会卡死。