要解决在Android 10设备中找不到卷外部_primary的java.lang.IllegalArgumentException异常,你可以尝试以下方法:
File externalStorage = new File(Environment.getExternalStorageDirectory(), "外部_primary");
Context context = getApplicationContext();
StorageManager storageManager = (StorageManager) context.getSystemService(Context.STORAGE_SERVICE);
StorageVolume storageVolume = storageManager.getPrimaryStorageVolume();
File externalStorage = storageVolume.getDirectory();
// 在适当的位置请求权限
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_CODE);
}
// 处理权限请求的回调
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if (requestCode == REQUEST_CODE) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 已授予权限,进行相关操作
} else {
// 权限被拒绝,无法进行相关操作
}
}
}
请注意,这些解决方法适用于Android 10设备中找不到卷外部_primary的java.lang.IllegalArgumentException异常。如果问题仍然存在,可能需要进一步调查或与Android开发社区进行讨论。