我清單內:安卓:授權訪問外部寫身邊清單
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
但是當我運行的應用程序(它應該是創造和彈出卡的圖像),圖像沒有創建。
然後我手動更改應用程序的權限(啓用外部存儲權限:settings->applications->Myapp->permissions
),並且該應用程序正常工作。
我該如何解決這個問題?
我清單內:安卓:授權訪問外部寫身邊清單
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
但是當我運行的應用程序(它應該是創造和彈出卡的圖像),圖像沒有創建。
然後我手動更改應用程序的權限(啓用外部存儲權限:settings->applications->Myapp->permissions
),並且該應用程序正常工作。
我該如何解決這個問題?
如果版本低於Android的6(棉花糖),您可以使用此代碼,而無需進行權限檢查:
final int REQUEST_CODE = 1;
ActivityCompat.requestPermissions(activity,
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},REQUEST_CODE);
否則,你需要一種不同的方法:
public static boolean checkIfPermissionNeeded(Activity activity) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M &&
activity.checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED){
return true;
}
return false;
}
如果這個返回true
您可以使用第一個塊中的代碼。
所以:
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
switch (requestCode){
case REQUEST_CODE:
if(grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){
//task may be continued
permission = true;
}
else{
//task cancelled
permission = false;
}
break;
}
}
而在你的活動,如果權限是true
您可以繼續使用所需的操作。
所以,這有做MM和授予權限: 使用許可權的Android?或者我錯了? –
是的。由於MM每次需要用戶允許應用程序使用某些功能,會彈出一個對話框。因此,許可權可能是對的或不對;我應該更具體。 – Lazai
我的清單裏我有:在第一次使用時的名字=「android.permission.WRITE_EXTERNAL_STORAGE」 –
該版本手機有 –