4

ダウンロードしたPDFファイルをデバイスのSDカードに保存するAndroidアプリを作成しています。すべて正常に動作しますが、デフォルトのAndroidファイル/フォルダーブラウザーをポップアップして、アプリがすべてのPDFを保存するディレクトリ(サブディレクトリを含む)を表示する機能を追加して、ユーザーが自分のドキュメントが保存されている場所を確認できるようにします。それらを簡単に閲覧できます。

私は他の多くのSOの質問やフォーラムの投稿を経験してきましたが、これは音楽/画像/連絡先などに対してのみ実行できるようです。基本的に、「専用のブラウジングシステム」を備えているが、一般的なファイルブラウジングを備えていないファイルタイプ。

私は実際にこのコードを使用しています:

File file = new File("/sdcard/MySorgenia/Documenti/");
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
Uri data = Uri.fromFile(file);
String type = "*/*";
intent.setDataAndType(data, type);
startActivity(intent);

ただし、これにより、「音楽」、「ギャラリー」などの多くのアプリケーションを含む「アクションを完了するためのアプリケーションを選択してください」ダイアログが表示されますが、汎用アプリケーションは表示されません。

ありがとう!

4

4 に答える 4

11

Androidには、ファイルエクスプローラーとして使用でき、応答するネイティブアプリケーションがないためです。Intent type "*/*"

File-Explorerこの目的のために独自のコードを実装します。

これらの2つのリンクを見てください。

  1. openintents

  2. Android-ファイル-探索

于 2012-08-30T10:40:23.107 に答える
5
public void loadfile()
{
    private static final int gallery=12; 
    private static final String type="*/*";
    
    Intent i=new Intent(Intent.ACTION_GET_CONTENT);
    i.setType(type);
    startActivityForResult(Intent.createChooser(i,"select file"), gallery);
}


@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == gallery && resultCode == RESULT_OK && data != null) {
        Uri uploadfileuri = data.getData();
        File file = new File(uploadfileuri.getPath());
    }
}
于 2017-12-01T05:44:03.563 に答える
2

Android 4.4 KitKat(APIレベル19)以降、Androidに組み込まれたファイルピッカーがあります。アプリはACTION_OPEN_DOCUMENTおよび/またはACTION_CREATE_DOCUMENTインテントを呼び出し、ドキュメントプロバイダーから返されたファイルを受け取ります。それについての詳細はここで見つけることができます:

ストレージアクセスフレームワークを使用してファイルを開く| Android開発者

ファイルを保存する場所によっては、許可を要求する必要がある場合があります。

アプリの権限をリクエストする| Android開発者

方法は次のとおりです。

Androidストレージアクセスフレームワークの例-Techtopia

そして、優れた実例はIanLakeローカルストレージです。そのソースはGitHubで見つけることができます:

https://github.com/ianhanniballake/LocalStorage

そして、アプリはグーグルプレイからダウンロードすることができます:

https://play.google.com/store/apps/details?id=com.ianhanniballake.localstorage

于 2018-07-25T13:10:14.690 に答える
1

ほとんどのAndroidディストリビューションにはデフォルトのファイルブラウザが付属しておらず、気付いた動作はデフォルトのAndroid動作です。優れたサードパーティのファイルブラウザがインストールされている場合は、そのリストに自動的に表示されます。ただし、すべてのエンドユーザーにファイルブラウザがインストールされるとは限りません。このために汎用フラグメントウィジェットを作成できます(おそらく他のユーザーと共有できます)。

于 2012-08-30T10:42:37.407 に答える