我在带触摸屏的 Raspberry PI 3 上使用了 Android Things。例如,我需要配置 wifi 连接。通过 Intent 调用 WiFi 设置,配置后我需要返回我的应用程序,但我只有一个按钮,它连接到 pin。此按钮必须用作 Android 设备上的后退按钮。 当按下按钮时执行此代码:
Runtime.getRuntime().exec("adb shell input keyevent 4");
但我得到异常:
java.io.IOException: error=13, Permission denied
当我从 PC 通过命令行发送命令时 - 一切正常,但在设备上 - 权限被拒绝 怎么了?这是因为我的安卓没有root?
还尝试在主要 Activity 中调用 OnBackPress,但这只在我的应用程序中有效,而不是从设置中返回。
最佳答案
如果您没有 root,您将无法使用 shell 命令在您的设备上执行直接按键操作。您需要使用 InputDriver让您的按钮向系统发送事件(尽管我不确定它是否支持 BACK 按钮)。
此外,如果您在设备上运行 shell 命令,则不需要 adb shell
。你已经在 shell 中了。
关于从设置或其他 Activity 中恢复的 Android 信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47582424/