如何访问权限允许在android studio中管理所有文件

cbwuti44  于 2023-02-09  发布在  Android
关注(0)|答案(3)|浏览(284)

在Android 10 & 11 SDK 30如何访问Android设备中的所有文件,并给予管理所有文件的权限
我尝试了requestLegacyExternalStoragedefaultToDeviceProtectedStoragereserveLegacyExternalStorageMANAGE_EXTERNAL_STORAGE权限,但无效

8cdiaqws

8cdiaqws1#

你可以使用下面的代码,它对我很有效。

if (SDK_INT >= Build.VERSION_CODES.R) {
                            if (Environment.isExternalStorageManager()) {
                                startActivity(new Intent(this, MainActivity.class));
                            } else { //request for the permission
                                Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION);
                                Uri uri = Uri.fromParts("package", getPackageName(), null);
                                intent.setData(uri);
                                startActivity(intent);
                            }
                        } else {
                            //below android 11=======
                            startActivity(new Intent(this, MainActivity.class));
                            ActivityCompat.requestPermissions(this, new String[]{WRITE_EXTERNAL_STORAGE}, PERMISSION_REQUEST_CODE);
                        }

并在清单文件中添加行android:requestLegacyExternalStorage="true"

y3bcpkx1

y3bcpkx12#

管理外部存储
这仅适用于Android 11 API 30。
你必须启动一个意图

Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION

允许用户启用所有文件访问。
适用于Android 10 API 29设备

requestLegacyExternalStorage="true"

我会的。
您可以在这里阅读更多:在Android API中访问外部存储29

ymzxtsji

ymzxtsji3#

你不可以。没有人可以。不,你不能绕过这个限制。
您只能访问、编辑和删除应用自己的数据。有关详细信息,请阅读此处。https://developer.android.com/about/versions/11/privacy/storage

相关问题