14

Android 4.0.3 デバイスで開発しています。アプリのファイル ブラウザーを開くにはどうすればよいですか? Android SDK に組み込まれているものはありますか? 自分で書く必要がありますか?

ユーザーがファイル閲覧用に別のアプリをインストールすることにアプリを依存させたくありません。

4

4 に答える 4

22

ファイル ブラウザからファイルを取得するには、次のようにします。

        Intent fileintent = new Intent(Intent.ACTION_GET_CONTENT);
        fileintent.setType("gagt/sdf");
        try {
            startActivityForResult(fileintent, PICKFILE_RESULT_CODE);
        } catch (ActivityNotFoundException e) {
            Log.e("tag", "No activity can handle picking a file. Showing alternatives.");
        }

gagt/sdf の目的がよくわかりません...私のアプリではどのファイルでも機能するようです。

次に、このメソッドを追加します。

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Fix no activity available
        if (data == null)
            return;
        switch (requestCode) {
        case PICKFILE_RESULT_CODE:
            if (resultCode == RESULT_OK) {
                String FilePath = data.getData().getPath();
                //FilePath is your file as a string
            }
        }

ユーザーが OEM によってファイル マネージャー アプリをインストールまたはプレインストールされていない場合は、独自のアプリを実装する必要があります。彼らに選択肢を与えることもできます。

于 2013-01-30T16:43:25.010 に答える
2

新しいバージョンでまだ必要な場合は、Google による SDK >= 4.4 用の Storage Access Framework の開発で更新されました。詳細については、この Google サイトを確認してください。

https://developer.android.com/guide/topics/providers/document-provider.html

于 2017-02-17T08:24:38.710 に答える
0

すべてのデバイスにインストールされる単一のファイル管理アプリはありません。Android 3.x 以下のデバイスでもアプリを動作させたいと思うでしょう。ただし、最良の選択は、独自のファイルマネージャーを作成することです。これは思ったほど手間がかからず、Web 上には既に多くのコードが公開されています。

于 2013-01-30T16:05:43.223 に答える