2015-11-09 144 views
2

我时,我打算授予CHANGE_CONFIGURATION允许我的应用程序这个错误:(是Windows平台)Android的授予权限错误

下面

CMD命令行错误是:

/$时许资助的packageName android.permission.CHANGE_CONFIGURATION>

不允许进行操作:java.lang.SecurityException异常:包装的packageName没有请求的权限android.permission.CHANGE_CONFIGURATION

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

谢谢

+1

欢迎来到SO。你不应该截取你的代码。可以将它们复制出终端。不要懒惰,直接写入问题。 – Smittey

+1

@Smittey谢谢。我编辑了我的帖子。 – Almett

回答

3

有无您在清单中要求CHANGE_CONFIGURATION

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

您正在使用哪种设备和Android版本?我已经使用Android 6(MRA58N)在Nexus 6上测试了pm grant命令,它工作正常。

+0

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

+0

您正在使用哪种设备和版本的Android? – cuihtlauac

+1

这是一个amlogic设置框,通过Android 4.4.2 –

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声明它还有

+0

但我只有apk文件。目前我正在使用的是自动测试代码。没有onCreate方法。我该怎么办? – Almett

+3

'CHANGE_CONFIGURATION'是'签名|开发'权限,它不会被授予使用'requestPermissions()'的应用程序。 – cuihtlauac