猿问

从android中的文件路径获取内容uri

从android中的文件路径获取内容uri

我知道图像的绝对路径(比如说/sdcard/cats.jpg)。这个文件的内容是否有任何方法?

实际上在我的代码中我下载了一个图像并将其保存在特定位置。为了在ImageView中设置图像,我使用路径打开文件,获取字节并创建位图,然后在ImageView中设置位图。这是一个非常缓慢的过程,相反,如果我可以获得内容uri,那么我可以很容易地使用该方法 ImageView.setImageUri(uri)


冉冉说
浏览 2858回答 3
3回答

潇湘沐

试试:ImageView.setImageURI(Uri.fromFile(new File("/sdcard/cats.jpg")));或者:ImageView.setImageURI(Uri.parse(new File("/sdcard/cats.jpg").toString()));

动漫人物

它来晚了,但将来可能会有所帮助。要获取文件的内容URI,您可以使用以下方法:FileProvider.getUriForFile(Context context, String authority, File file)它返回内容URI。检查一下,了解如何设置 FileProvider

元芳怎么了

你可以尝试下面的代码片段    public Uri getUri(ContentResolver cr, String path){     Uri mediaUri = MediaStore.Files.getContentUri(VOLUME_NAME);     Cursor ca = cr.query(mediaUri, new String[] { MediaStore.MediaColumns._ID }, MediaStore.MediaColumns.DATA + "=?", new String[] {path}, null);     if (ca != null && ca.moveToFirst()) {         int id = ca.getInt(ca.getColumnIndex(MediaStore.MediaColumns._ID));         ca.close();         return  MediaStore.Files.getContentUri(VOLUME_NAME,id);     }     if(ca != null) {         ca.close();     }     return null;}
随时随地看视频慕课网APP

相关分类

Android
我要回答