Android授予权限错误

时间:2015-11-09 09:40:31

标签: android permissions adb robotium

当我要向我的应用程序授予CHANGE_CONFIGURATION权限时出现此错误:(是Windows平台)

CMD命令行错误如下:

  

/ $ pm grant packageName android.permission.CHANGE_CONFIGURATION>

     

不允许操作:java.lang.SecurityException:包packageName没有请求权限android.permission.CHANGE_CONFIGURATION

任何人都知道如何解决这个问题?

由于

2 个答案:

答案 0 :(得分:3)

你有没有在你的清单中请求CHANGE_CONFIGURATION

<uses-permission android:name="android.permission.CHANGE_CONFIGURATION">    

您使用的是哪种设备和Android版本?我使用Android 6(MRA58N)测试了Nexus 6上的pm grant命令,但它确实有用。

答案 1 :(得分:0)

您必须申请获得许可。

主要活动的OnCreate方法:

// New permissions model test
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
{
    if (checkSelfPermission(Manifest.permission.CHANGE_CONFIGURATION) != PackageManager.PERMISSION_GRANTED)
    {
        String [] permissions = new String[1];
        permissions[0] = Manifest.permission.CHANGE_CONFIGURATION;

        requestPermissions(permissions, 7001);
    }
}

并在您的活动中覆盖此内容:

@Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults)
{
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);

    if(grantResults[0] == 0)    // Permission was granted
        yourJob.start();    
}

当然,也可以在manifest.xml中声明它