在Android 10中,由于安全原因,需要使用新的API访问设备上的外部媒体,包括读取和写入外部存储中的文件。以下是如何选择Android 10存储中的PDF文件的方法:
private static final int READ_STORAGE_PERMISSION_REQUEST_CODE = 101;
if (ContextCompat.checkSelfPermission(this,Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, READ_STORAGE_PERMISSION_REQUEST_CODE); }
private static final int PICK_PDF_FILE_REQUEST_CODE = 102;
Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("application/pdf"); intent.addCategory(Intent.CATEGORY_OPENABLE);
startActivityForResult(Intent.createChooser(intent, "Select File"), PICK_PDF_FILE_REQUEST_CODE);
@Override public void onActivityResult(int requestCode, int resultCode, Intent resultData) { super.onActivityResult(requestCode, resultCode, resultData);
if (requestCode == PICK_PDF_FILE_REQUEST_CODE
&& resultCode == Activity.RESULT_OK
&& resultData != null) {
Uri uri = resultData.getData();
// 处理uri相关的操作
}
}
当用户从文件选择器中选择文件时,系统会返回所选文件的URI。使用此URI,您可以访问所选文件并进行进一步处理。