【发布时间】:2019-03-07 05:53:02
【问题描述】:
我在应用程序中授予 WRITE_EXTERNAL_STORAGE 运行时权限时遇到问题。在接受许可应用程序重新启动时,我发现这是因为我们的自定义固件。
我想知道的是,我们可以调用 ADB 命令来授予应用程序的权限吗?我试过这样打电话
final String STORAGE_PERMISSION_COMMAND = "sh -c adb -d shell pm grant com.example.easypermission.easypermissionsample android.permission.WRITE_EXTERNAL_STORAGE";
try {
Runtime.getRuntime().exec(STORAGE_PERMISSION_COMMAND,null,null);
} catch (IOException e) {
e.printStackTrace();
}
但是什么都没有发生。谁能告诉我这是否可以做到,如果可以怎么办?
【问题讨论】:
-
不,它不能。这里是一个小解释stackoverflow.com/a/34112381/3290339
-
@Onik 它说我不需要在命令中传递
adb。它并不是说我不能从 app 运行 adb 命令。或者这就是我所理解的。如果我错了,你能解释一下吗? -
您错过了我回答中的关键点...如何在不使用“adb”本身的情况下运行“adb”命令?这是一个 Linux 二进制文件,称为“adb”,命令是二进制文件要解析的参数。使用不带“adb”的命令没有任何意义。
-
@Onik 哦,好吧。谢谢您的帮助。你能看看这个吗stackoverflow.com/q/55003244/5742437
标签: android adb android-permissions android-6.0-marshmallow