我可以从应用程序调用授予权限ADB命令吗

时间:2019-03-07 05:53:03

标签: android adb android-permissions android-6.0-marshmallow

我在向应用程序授予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();
}

但是什么也没发生。有人可以告诉我是否可以这样做,如果可以怎么办?

1 个答案:

答案 0 :(得分:1)

正如@Onik共享的链接所说,我们无法在应用程序内运行ADB命令。运行应用程序时,其代码在环境中执行。因此,当您调用from rest_framework import serializers from .models import getData class CarSerializer(serializers.ModelSerializer): class Meta: model = getData fields = "__all__" 时,实际上是在尝试启动另一个adb服务器进程(现在在目标设备上),该进程从tcp端口5038开始,因为端口5037繁忙。