华为手机搭载android6.0读取文件时,需要手动检测读取权限

解决方案摘自:
http://stackoverflow.com/questions/8854359/exception-open-failed-eacces-permission-denied-on-android
即:
在要读取文件的类onCreate方法中添加如下代码:

// Storage Permissions
private static final int REQUEST_EXTERNAL_STORAGE = 1;
private static String[] PERMISSIONS_STORAGE = {
        Manifest.permission.READ_EXTERNAL_STORAGE,
        Manifest.permission.WRITE_EXTERNAL_STORAGE
};
// Check if we have write permission
int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (permission != PackageManager.PERMISSION_GRANTED) {
   // We don't have permission so prompt the user
   ActivityCompat.requestPermissions(
       activity,
       PERMISSIONS_STORAGE,
       REQUEST_EXTERNAL_STORAGE
     );
 }

在清单文件中添加权限:

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

猜你喜欢

转载自blog.csdn.net/baisemaque/article/details/51727677