Android 作为系统应用程序访问StorageVolumes
我正在编写一个应用程序,探索连接到AOSP设备的存储卷的文件和文件夹结构。应用程序已位于系统映像上的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
/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中请求哪个权限?