从android studio中activityResult()上的uri获取文件名
我需要DICOM图像的文件路径中的文件名,该图像是从gallery下载并选择的,要加载到android studio的imageView中。您可以使用以下代码从onActivityResult的uri中获取文件名从android studio中activityResult()上的uri获取文件名,android,android-intent,Android,Android Intent,我需要DICOM图像的文件路径中的文件名,该图像是从gallery下载并选择的,要加载到android studio的imageView中。您可以使用以下代码从onActivityResult的uri中获取文件名 Uri uri= data.getData(); File file= new File(uri.getPath()); file.getName(); 那么问题出在哪里?@Piyush我得到下载图像的uri为==>content://com.android.providers.do
Uri uri= data.getData();
File file= new File(uri.getPath());
file.getName();
那么问题出在哪里?@Piyush我得到下载图像的uri为==>content://com.android.providers.downloads.documents/document/22 ,因此找不到异常文件,因为22是文件名,所以找不到真正的路径?@Piyush不,先生,找不到真正的图像名。我得到22作为图像名,显示未找到异常文件。首先,您是否检查是否已授予运行时权限?此代码对于gallery中的图像是正确的(未下载)。activityResult上下载的图像的uri不同content://com.android.providers.downloads.documents/document/22
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
if (requestCode == PICK_REQUEST) {
if(data != null){
String name = new File(data.getData().getPath()).getName();
}
}
}
}