尝试使用Shell脚本重新启动我的android应用时遇到问题。
第一个问题是此link尚未真正修复,我的最终解决方案是让另一个应用程序充当播放器生命周期的监视器,而播放器应用程序仅负责播放媒体(img / vid),并在播放列表完成后被“杀死”。
所以基本上我有2个应用程序可以满足我的需求:
Monitor App
Player App
第二个问题是,当我尝试让monitor app
每秒调用一个shell脚本时,它将检查player app
是否正在运行,并通过{{ 1}}(如果没有)。不幸的是,这种方法会导致设备每两分钟被冻结,并且此问题已通过删除脚本调用得以解决(即使调用不执行任何操作的脚本文件也无法解决该问题)。
最后,我决定将脚本调用移至player app
本身,我希望am start
在播放列表的末尾调用脚本,该脚本将:
player app
杀死player app
player app
到am force-stop
player app
但是似乎无法调用am start
命令,因为su -c am force-stop my.playerapp && su -c am start -n my.playerapp/my.playerapp.MainActivity
也会停止脚本的执行。 (如果我通过adb执行脚本,则该脚本将像冠军一样工作)
欢迎提出任何想法。