Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 作为系统应用程序访问StorageVolumes_Android_Android Permissions_Android Source - Fatal编程技术网

Android 作为系统应用程序访问StorageVolumes

Android 作为系统应用程序访问StorageVolumes,android,android-permissions,android-source,Android,Android Permissions,Android Source,我正在编写一个应用程序,探索连接到AOSP设备的存储卷的文件和文件夹结构。应用程序已位于系统映像上的/system/priv-app目录中。非常简化的代码版本执行以下操作: StorageManager storageManager = (StorageManager) getSystemService(Context.STORAGE_SERVICE); List<StorageVolume> volumeList = storageManager.getStorageVolumes

我正在编写一个应用程序,探索连接到AOSP设备的存储卷的文件和文件夹结构。应用程序已位于系统映像上的
/system/priv-app
目录中。非常简化的代码版本执行以下操作:

StorageManager storageManager = (StorageManager) getSystemService(Context.STORAGE_SERVICE);
List<StorageVolume> volumeList = storageManager.getStorageVolumes();
for (StorageVolume volume : volumeList) {
    Intent accessIntent = volume.createAccessIntent(volume.isPrimary() ? Environment.DIRECTORY_MUSIC : null);
    startActivityForResult(accessIntent, 42);
}
StorageManager-StorageManager=(StorageManager)getSystemService(Context.STORAGE\u SERVICE);
List volumeList=storageManager.getStorageVolumes();
用于(存储卷卷:卷列表){
Intent accessIntent=volume.createAccessIntent(volume.isPrimary()?Environment.DIRECTORY\u MUSIC:null);
startActivityForResult(accessIntent,42);
}
结果是,每次都会要求用户授予访问该卷的权限,如以下屏幕截图所示:


由于该应用程序已经是系统应用程序,我希望只授予该权限。如何摆脱这些访问授权请求?

Post manifest file(request permission)和Android.mkWell,任何应用程序都可以列出存储卷,并通过volume.createAccessIntent和startActivityForResult请求访问权限。据我所知,问题主要是关于特权/系统应用程序是否(以及如果是:如何?)可以绕过该问题,直接访问存储卷。问题不同:您希望在AndroidManifest.xml中请求哪个权限?