1、发起选择文件的请求Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
intent.addCategory(Intent.CATEGORY_OPENABLE);
Activity_PhotoRead.this.startActivityForResult(Intent.createChooser(intent, "请选择文件"), 10000);
2、Activity中获取所选文件的uri@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 10000) {
Uri uri = intent.getData();
String path1 = FileHelper.getFilePath(this, uri);// 将uri转为真实地址
}
}
3、将uri转为真实地址(已通过android7.0测试)public static String getFilePath(Context context, Uri uri) {
if ("content".equalsIgnoreCase(uri.getScheme())) {
int sdkVersion = Build.VERSION.SDK_INT;
if (sdkVersion >= 19) { // api >= 19
return getRealPathFromUriAboveApi19(context, uri)