我在向应用程序授予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();
}
但是什么也没发生。有人可以告诉我是否可以这样做,如果可以怎么办?
答案 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繁忙。