我正在测试 code of ScreenRecorder并希望将视频文件存储在“电影”文件夹中(未模拟)。但是当我尝试使用 getExternalStoragePublicDirectory(DIRECTORY_MOVIES) + "/video.mp4"
获取此文件夹时返回:/storage/emulated/0/Movies,我无法通过 Android UI 访问的文件夹。
PS:在 Android 7.1.1 上测试
那么,如何正确检索该文件夹呢?
最佳答案
您有外部存储权限吗?
它应该看起来像这样:
public class PermissionUtils {
public static final int REQUEST_EXTERNAL_STORAGE = 2000;
public static void requestExternal(Activity context) {
if (!checkExternal(context)) {
ActivityCompat.requestPermissions(context, new String[]{
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE},
REQUEST_EXTERNAL_STORAGE);
}
}
public static boolean checkExternal(Context context) {
return !(ActivityCompat.checkSelfPermission(context, Manifest.permission.READ_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED
&& ActivityCompat.checkSelfPermission(context, Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED);
}
}
然后只需将其添加到您的 onCreate();方法:
PermissionUtils.requestExternal(this);
关于java - 如何正确获取电影文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47970076/