解决方法
个人需要上传最新的Android10中的文件,声明并动态申请了权限仍然提示无法打开文件,要解决该问题需要做到以下步骤:
- 在Manifest文件中申请使用的权限
<uses-permission android:name=“android.permission.WRITE_EXTERNAL_STORAGE” />
<uses-permission android:name=“android.permission.READ_EXTERNAL_STORAGE” />
- 动态申请读取文件权限(在活动中调用)
private final int REQUEST_EXTERNAL_STORAGE = 1;
private String[] PERMISSIONS_STORAGE = {
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE };
public 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 user
ActivityCompat.requestPermissions(activity, PERMISSIONS_STORAGE,
REQUEST_EXTERNAL_STORAGE);
}
}
- 最新的Android10需要在Application中声明一种属性
<application
android:requestLegacyExternalStorage=“true”/>
至此,才算真正可以读取系统中的文件。