簡體   English   中英

我無法從文件中獲取Uri

[英]I can't get the Uri from a file

我想從文件路徑獲取Uri。 這是文件路徑:

File path = new File(Environment.getExternalStorageDirectory().toString()+File.separator+"pic/picture.jpeg");

我以這種方式嘗試了uri:

Uri uri = Uri.fromFile(path);

但我也嘗試做一個日志: Log.i("URI", "Uri dell' img " + uri + ":"); uri仍然是文件路徑! 例如:“ content:// ...”,而不是“ file:// sdcard ....”

我怎樣才能得到正確的尿? 謝謝

public File getFileFromContentUri(final Uri uri) 
{
    if (uri == null || !(uri.getScheme().equals("content") || uri.toString().contains("file://"))) return null;

    if (uri.getScheme().equals("content")) {
        final String[] columns = new String[] {MediaStore.MediaColumns.DATA};
        final Cursor cursor = getContentResolver().query(uri, columns, null, null, null);
        if (cursor == null || cursor.getCount() == 0) return null;
        cursor.moveToFirst();
        final String path = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DATA));
        if (path != null) return new File(path);
        else return null;
   }
   else if (uri.toString().contains("file://")) {
       return new File(uri.getPath());
   }

   return null;
}

使用方法Uri.parse(path.getAbsolutePath()); 此方法將為您提供文件路徑的Uri

//write to this 

Uri photoUri = MediaStore.Images.Media.getContentUri("external");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM