2

私の使用例は、Intent Chooser の Custom Download オプションから画像をダウンロードすることです。以下のようなコードを追加することで、カスタム オプションを追加できることを理解しています。

Intent share = new Intent(Intent.ACTION_SEND);
share.setType("text/plain");       
share.putExtra(Intent.EXTRA_TEXT, message);

Intent addIntent = ;//whatever you want

Intent chooser = new Intent(Intent.ACTION_CHOOSER);
chooser.putExtra(Intent.EXTRA_INTENT, share );      
chooser.putExtra(Intent.EXTRA_TITLE, "title");

Intent[] intentArray =  {addIntent }; 
chooser.putExtra(Intent.EXTRA_INITIAL_INTENTS, intentArray);
startActivity(chooser);

また、画像をダウンロードする機能も用意されています。私の質問は、カスタムオプションがユーザーによって選択/クリックされたことを検出し、ダウンロード機能に直接コールバックを設定して、ダウンロード操作を続行できますか?

注:プロセス中に新しいアクティビティを開始したくありません。セレクターでこのカスタムオプションのコールバックを設定する方法についてのポインターを探しているだけです。

4

1 に答える 1

4

カスタム オプションがユーザーによって選択/クリックされたことを検出し、ダウンロード関数にコールバックを直接設定して、ダウンロード操作を続行できますか?

Android 5.1+ でのみ、選択について通知される を指定できる の 3 パラメータ フレーバーを使用する場合...そしてcreateChooser()IntentSender、「ダウンロード関数にコールバックを直接設定し、ダウンロード操作を続行する場合のみ」 「ダウンロードを行うアクティビティを起動する」という意味です。

それ以外の場合は、独自のチューザー スタイルの UI を展開し、ユーザーの選択を使用して明示的Intentに作成し、ユーザーを要求されたアクティビティにルーティングする必要があります。

于 2015-09-23T21:36:38.813 に答える