我有这个shell脚本片段:
am start -n com.android.gallery3d/com.android.gallery3d.app.MovieActivity -d /sdcard/movie.mp4
sleep 5
input keyevent 4
此脚本基本如下: 1.打开库应用程序以启动movie.mp4 2.睡5秒 3.按返回键
当我通过adb shell运行此脚本时,事情按预期工作,即视频仅在前5秒播放,然后按下后退键,这实际上退出了图库应用。
然而,当我通过runtime.exec()运行它时 画廊确实开始,但没有其他事情发生。当应用程序在后台时,系统似乎阻止我运行脚本。 有人碰巧知道任何工作吗?或者有没有办法使用INTENT来实现相同的结果?
提前致谢
答案 0 :(得分:1)
应用程序运行的脚本作为应用程序用户标识运行,该标识没有额外的内容 adb shell(作为shell甚至root运行)的调试权限。
出于安全原因,应用程序不应该能够向其他应用程序提供假键击,特别是不能向系统本身提供。
也许不是退出画廊,而是应该尝试用Intent开始其他东西。