【发布时间】:2021-07-25 12:59:14
【问题描述】:
我想编辑存储在我知道的某个路径的文本文件。我只想要该文件路径的 MediaStore Uri,以便我可以使用 MediaStore.createWriteRequest() 创建写入请求。我该怎么做?
【问题讨论】:
-
这与作用域存储有什么关系?
标签: java android kotlin scoped-storage
我想编辑存储在我知道的某个路径的文本文件。我只想要该文件路径的 MediaStore Uri,以便我可以使用 MediaStore.createWriteRequest() 创建写入请求。我该怎么做?
【问题讨论】:
标签: java android kotlin scoped-storage
这个对我有用
Uri.fromFile(File(filepath))
【讨论】:
这是您可以在高于 API 28 的设备和其他设备上检查权限的方法。
public static boolean checkPermission() {
if (Build.VERSION.SDK_INT > 28 || hasAll(context, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
return true;
} else if(hasAll(context, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE){
return true;
}
}
public static boolean hasAll(@NonNull Context context, String... permissions) {
return Build.VERSION.SDK_INT < Build.VERSION_CODES.M ||
Stream.of(permissions).allMatch(permission -> ContextCompat.checkSelfPermission(context, permission) == PackageManager.PERMISSION_GRANTED);
}
【讨论】: