2016-09-30 10 views
0

私はのSDカードまたはの内蔵カードに保存できるファイルをユーザに検索するようにプログラムを作成しています。私は電話でデフォルトのファイルエクスプローラを開くために、私はこのコードを使用しなければならないことを知っている:ファイルエクスプローラからアドレスを取得する

Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_GET_CONTENT); 
intent.setType("file/*"); 
startActivity(intent); 

しかし、私の問題は、ファイルエクスプローラとの通信に関連して、私は得ることができる方法アドレスがユーザーが選択したファイルです。

答えて

0
Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
    intent.setType("file/*"); 
    startActivityForResult(intent, YOUR_REQUEST_CODE); 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (resultCode == RESULT_OK) { 
    switch (requestCode) { 
    case YOUR_REQUEST_CODE: 
     //get the uri from data's extras 
     break; 
    } 
    //do whatever you want with uri 
    } else { 
    Toast.makeText(this, "Wrong result", Toast.LENGTH_SHORT).show(); 
    } 
} 
+0

私はその考えを理解しています。しかし、システムのファイルエクスプローラを開いた結果、この場合のStringをどこで捕まえることができますか? ** YOUR_RESULT_CODE **というパラメータは整数なので、関数であれば分かります。 –

+0

編集した投稿を確認してください –

+0

本当に助かりました! –

関連する問題