你的位置:首页 > 操作系统

[操作系统]caused by android.system.errnoexception open failed eacces (permission denied)解决方案,安卓6.0(API23)权限问题


 

在API23+以上,不止要在AndroidManifest.

1 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />2 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

还要在JAVA代码中请求权限:

 1   // Storage Permissions 2   private static final int REQUEST_EXTERNAL_STORAGE = 1; 3   private static String[] PERMISSIONS_STORAGE = { 4       Manifest.permission.READ_EXTERNAL_STORAGE, 5       Manifest.permission.WRITE_EXTERNAL_STORAGE }; 6  7   /** 8    * Checks if the app has permission to write to device storage 9    * 10    * If the app does not has permission then the user will be prompted to11    * grant permissions12    * 13    * @param activity14   */15   public static void verifyStoragePermissions(Activity activity) {16     // Check if we have write permission17     int permission = ActivityCompat.checkSelfPermission(activity,18         Manifest.permission.WRITE_EXTERNAL_STORAGE);19 20     if (permission != PackageManager.PERMISSION_GRANTED) {21       // We don't have permission so prompt the user22       ActivityCompat.requestPermissions(activity, PERMISSIONS_STORAGE,23           REQUEST_EXTERNAL_STORAGE);24     }25   }

在保存的方法前面调用即可

官方文档:http://developer.android.com/training/permissions/requesting.html