2016-05-02 1 views
0

私のAndroidアプリは、意図を送信することによって外部のアプリから開くことができる特定のファイル形式を管理しています。私のアプリはインテントを送信し、ユーザーはそれを処理する必要のあるアプリを選択するよう求められます。通常のダイアログで私的なin-appオプションで特定のファイル形式のアクティビティを選択させる

私のアプリには、そのフォーマット自体も処理できるアクティビティがありますようにお願いします。 上記のファイル形式を開くのと同じ種類のインテントを送信する別のアプリから、このアクティビティにアクセスすることはできません。

これは、私のアプリがそのファイル形式でインテントを送信したときに、自分のアプリ自体であっても、どのアプリを使用するのかの選択肢に過ぎません。

しかし、私はそのフォーマットを受け入れることができる私のアプリのアクティビティを他のアプリからシンクとして選択することはできません。

Androidと同じアプリ選択ダイアログを表示することは可能ですか?

答えて

0

使用EXTRA_INITIAL_INTENTS

// Intent original is an Intent to start your own internal activity 
    // Intent toChooseFrom is an Intent to start third-party activities; 
    // String title is the title to display as part of the chooser 

    Intent chooser=Intent.createChooser(toChooseFrom, title); 

    chooser.putExtra(Intent.EXTRA_INITIAL_INTENTS, 
    new Intent[] {original}); 

    // call startActivity()/startActivityForResult(), passing in chooser 

あなたの内部活動が要求を処理できる任意のサードパーティの活動と一緒に(通常は前方に)チューに表示されます。あなたの活動は<intent-filter>を必要とせず、そうでなければ輸出されません。

+0

自動的に同じチョチェを次回確認するための通常のフラグが表示されていますか?そのコードは将来にも適していますか? – P5music

+0

@ P5music: "次の時間に自動的に同じチョチェを確認する通常の旗がありますか?" - いいえ、私はそうは思わない。このように 'createChooser()'を手動で呼び出すと、選択項目の "always"オプションがブロックされます。 – CommonsWare

+0

@ P5music:AFAIK、あなたが望むものはできません。 – CommonsWare

関連する問題