9

例えば

実際のパスは mnt/sdcard/image_1.jpg URI パスは content://media/external/images/media/140 のように

  Uri photoUri =Uri.parse("content://media/external/images/media/140");
                                            Log.d("selectedphoto",""+photoUri);
               selectedImagePath = getPath(photoUri);

     public String getPath(Uri uri) {
            String[] projection = { MediaStore.Images.Media.DATA };
            Cursor cursor = managedQuery(uri, projection, null, null, null);
            int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
            cursor.moveToFirst();



    return cursor.getString(column_index);
    }

上記のコードでは、Uri を実際のパスに変換しますが、実際のパスを Uri に変換する方法を知りません

4

2 に答える 2

14

Try this:

Uri.fromFile(new File("/sdcard/cats.jpg"));
于 2012-08-28T15:12:15.523 に答える
0

これにより、MediaProvider、DownloadsProvider、および ExternalStorageProvider からファイル パスが取得されますが、言及した非公式の ContentProvider メソッドにフォールバックします。

https://stackoverflow.com/a/27271131/3758898

于 2014-12-05T12:54:50.827 に答える