近期在 Android8.0 以上压缩视频时,遇到了无法创建目录,存储视频的问题
即mkdir()
和mkdirs()
总是返回false
明摆着是权限问题
import android.content.pm.PackageManager;
import android.support.v4.app.ActivityCompat;
import android.app.Activity;
复制代码
private static final int REQUEST_EXTERNAL_STORAGE = 1;
private static String[] PERMISSIONS_STORAGE = { "android.permission.READ_EXTERNAL_STORAGE", "android.permission.WRITE_EXTERNAL_STORAGE" };
public static void verifyStoragePermissions(Activity activity) {
// 检测是否有写的权限
int permission = ActivityCompat.checkSelfPermission(activity, "android.permission.WRITE_EXTERNAL_STORAGE");
if (permission != PackageManager.PERMISSION_GRANTED) {
// 没有写的权限,去申请写的权限,会弹出对话框
ActivityCompat.requestPermissions(activity, PERMISSIONS_STORAGE, REQUEST_EXTERNAL_STORAGE);
}
}
复制代码
如上,在必要处,调用请求权限的方法,即可。