android6.0及以上,写入数据到手机内存请求储存权限问题

//API23+以上,不仅要在AndroidManifest.xml里面添加权限 还要在JAVA代码中请求权限:
// 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 };

/**
 * Checks if the app has permission to write to device storage
 *
 * If the app does not has permission then the user will be prompted to
 * grant permissions
 *
 * @param activity
 */
public static void verifyStoragePermissions(Activity activity) {
    // 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 u
        ActivityCompat.requestPermissions(activity, PERMISSIONS_STORAGE,
                REQUEST_EXTERNAL_STORAGE);
    }
}

注:

AppCompatActivity这个是v7包里面的,例如 compile 'com.android.support:appcompat-v7:23.0.1'

你可能感兴趣的:(Android)