web-dev-qa-db-ja.com

インテントを介してファイルマネージャーからファイルを選択します

私がやりたいこと:

パスをファイルの文字列として取得したいのですが、Android File Managerから選択します。

私が持っているもの:

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
startActivityForResult(Intent.createChooser(intent, "Open with ..."), FILE_SELECT_CODE);

このコードは、私にはほぼ問題なく動作しますが、1つの問題があります。次のアプリでのみファイルを選択できます。

enter image description here

私の質問:

Android File Managerを介してファイルを選択するための実用的なコードはありますか?

10
Pixel_95

これを使って:

    Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
    intent.addCategory(Intent.CATEGORY_OPENABLE);
    intent.setType("*/*"); 
    startActivityForResult(intent, REQUEST_CODE);

Samsungデバイスがファイルマネージャーを開くには、次を使用します。

Intent intent = new Intent("com.sec.Android.app.myfiles.PICK_DATA");
intent.putExtra("CONTENT_TYPE", "*/*");
intent.addCategory(Intent.CATEGORY_DEFAULT);

詳細なリファレンスチェックアウト http://developer.Android.com/guide/topics/providers/document-provider.html

18
Aakash

だから私のサムスンデバイスではこれはうまくいきました:

Intent intent = new Intent("com.sec.Android.app.myfiles.PICK_DATA");
intent.putExtra("CONTENT_TYPE", "*/*");
intent.addCategory(Intent.CATEGORY_DEFAULT);
startActivityForResult(intent, FILE_SELECT_CODE);
2
Pixel_95