打开文件选择器
// 打开系统的文件选择器
public void pickFile(View view) {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("*/*");
this.startActivityForResult(intent, REQUEST_CODE);
}
获取文件的真实路径
// 获取文件的真实路径
@Override
protected void onActivityResult(final int requestCode, final int resultCode, @Nullable final Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (data == null) {
// 用户未选择任何文件,直接返回
return;
}
Uri uri = data.getData(); // 获取用户选择文件的URI
// 通过ContentProvider查询文件路径
ContentResolver resolver = this.getContentResolver();
Cursor cursor = resolver.query(uri, null, null, null, null);
if (cursor == null) {
// 未查询到,说明为普通文件,可直接通过URI获取文件路径
String path = uri.getPath();
return;
}
if (cursor.moveToFirst