質問

ここで説明する方法を使用して、ユーザーがAndroidアプリケーションで特定のメディアを選択できるようにしようとしています。AndroidアプリのPicturesアプリから写真にアクセスします

それは、両方を同時にではなく、ユーザーに提示するためにビデオまたは写真のいずれかを選択することができるように見えるという事実を除いて、うまく機能します。これを行う良い方法はありますか:

startactivityForresult(new Intent(Intent.action_pick、android.provider.mediastore.images.media.internal_content_uri)、select_image);

ありがとう!

役に立ちましたか?

解決

私はこれを何度か使いました。最良の方法は次のようなものです:

Intent mediaChooser = new Intent(Intent.ACTION_GET_CONTENT);
//comma-separated MIME types
mediaChooser.setType("video/*, images/*");
startActivityForResult(mediaChooser, 1);

これが完全に正確でなくても、私が使用したすべてのもので正常に機能しています。ユーザーのギャラリーにあるすべての写真/ビデオのサムネイルリストを含むギャラリー風のアクティビティが開きます。戻った意図 onActivityResult() 選択したメディアのコンテンツ:// uriと呼ばれる「データ」と呼ばれる追加があります。

編集:おっと、実際に電話したい選択したメディアにURIを取得するには getData() onactivityResult()に渡される意図について

他のヒント

Kivy-最も簡単な方法は、メディアを選択してビデオに制限する意図を作成することです。

Intent pickMedia = new Intent(Intent.ACTION_GET_CONTENT);
pickMedia.setType("video/*");
startActivityForResult(pickMedia,12345);

注-12345は、必要な場所に受け取る情報を送信できるように、リクエストコールバックでアプリをリクエストする必要がある整数です。

また、その意図から返送される情報を聞いて、同じアクティビティを次のようにする必要があります。

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == 12345) {
            if (resultCode == Activity.RESULT_OK) {
                Uri selectedVideoLocation = data.getData();

                // Do something with the data...
            } 

        }
    }

涼しい?

intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, 1);

これを試して

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
startActivityForResult(intent, 101);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top