2017-02-23 8 views
-2

私はsd-cardまたは他のパスからファイルを選択しようとしています。このコードでは、uriがnullを返し、この問題を解決できません。私はファイルを選択するためにアンドロイド既定のファイルマネージャを使用していますAndroidがファイルパスをURIから返します。返信null

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == REQUEST_CODE_PICK_VIDEO && resultCode == Activity.RESULT_OK) { 
     Uri uri = data.getData(); 
     Log.e("", "Video URI= " + getRealPathFromURI(context, uri)); 
    } 
} 

public String getRealPathFromURI(Context context, Uri contentUri) { 
    Cursor cursor = null; 
    try { 
     String[] proj = {MediaStore.Images.Media.DATA}; 
     cursor = context.getContentResolver().query(contentUri, proj, null, null, null); 
     int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
     cursor.moveToFirst(); 
     return cursor.getString(column_index); 
    } finally { 
     if (cursor != null) { 
      cursor.close(); 
     } 
    } 
} 
+0

私はtaget apiとは何ですか? –

+0

ビデオや画像を選んでいますか? –

+0

@DarshanKachhadiya android 7.0 –

答えて

0

URIがそれにファイルパスを含める必要はありません。しかし、URIに添付されたファイルパスがある場合は、this solutionを使用して描画することができます。

+0

私のために働いていない –

関連する問題