如何通过shell脚本重启Android应用

时间:2019-05-06 02:55:12

标签: android linux shell

尝试使用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 appam force-stop
  • 确切的脚本:player app

但是似乎无法调用am start命令,因为su -c am force-stop my.playerapp && su -c am start -n my.playerapp/my.playerapp.MainActivity也会停止脚本的执行。 (如果我通过adb执行脚本,则该脚本将像冠军一样工作)

限制

  • 设备不包含cron服务
  • 该设备在Android 4.4下运行

欢迎提出任何想法。

0 个答案:

没有答案