2015-11-09 174 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