我正在尝试使用
从我的Apk执行滑动命令process = Runtime.getRuntime()。exec(" adb shell input swipe 250 300 -800 300");
但没有任何反应,运行期间也没有错误发生。
我是否必须在清单中添加任何内容才能使其正常工作?
答案 0 :(得分:3)
您只能将 / system / bin / input 作为 root 或 shell 用户执行;这不适用于应用程序。从应用程序运行时,该命令不应以“adb shell”开头。
以root身份运行命令:
Process su = null;
try {
su = Runtime.getRuntime().exec("su");
su.getOutputStream().write("input swipe 250 300 -800 300\n".getBytes());
su.getOutputStream().write("exit\n".getBytes());
su.waitFor();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (su != null) {
su.destroy();
}
}
您还应该检查第三方库以处理su命令:https://android-arsenal.com/details/1/451
答案 1 :(得分:1)
您需要在清单中输入INJECT_EVENTS权限:
uses-permission android:name="android.permission.INJECT_EVENTS"