0

我有这个 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 来达到相同的结果?

提前致谢

4

1 回答 1

1

应用程序运行的脚本以应用程序用户标识运行,它没有 adb shell(以 shell 甚至 root 运行)所具有的额外调试权限。

出于安全原因,应用程序不应该能够将虚假击键提供给其他应用程序,尤其是不能提供给系统本身。

也许你应该尝试用 Intent 开始其他事情,而不是退出画廊。

于 2012-06-19T01:53:24.990 回答