我想为 root 手机编写一个 Android 应用程序,其行为方式如下:
我想拥有一个可以向其发出命令的 root shell。所以我想要的是我的应用程序在启动时请求一个 root shell,然后:
1)如果它获得 shell(用户授予超级用户权限)应用程序应该继续
2)如果它没有获得它(用户拒绝权限或超级用户请求弹出超时)应用程序应立即终止
现在,在这里阅读另一个问题,我发现您可以使用以下命令请求 root shell:
Process p = Runtime.getRuntime().exec("su");
但是,无论您是否获得许可,这都会立即返回。您可以发出:
p.waitFor();
但是,如果用户实际上已授予权限,这将永远不会返回,只有在权限被拒绝时才会返回。
我想要一种可靠的方法来获取 su shell 并保留它,并知道我是否真的获得了许可。有任何想法吗?