Intent 选择器屏幕中自定义项目的回调

Callback for Custom Item in Intent Chooser Screen

我的用例是从 Intent Chooser 的自定义下载选项下载图像。我知道我可以通过添加如下代码来添加自定义选项:

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);

我也有为我下载图像的功能。我的问题是,我可以检测到用户自定义选项是 selected/clicked 然后直接设置回调到我的下载函数并继续下载操作吗?

注意:我不想在此过程中启动任何新的 activity。只是寻找有关如何在选择器中为此自定义选项设置回调的指示。

Can I detect that the custom option was selected/clicked by the user and then set a callback to my download function directly and proceed with the download operation ?

仅在 Android 5.1+ 上,如果您使用 the three-parameter flavor of createChooser(),您可以在其中提供一个 IntentSender,它会收到有关选择的通知...然后只有 "set a callback to my download function directly and proceed with the download operation" 你是说 "launch an activity that does the download".

否则,您需要推出自己的选择器样式 UI,然后使用用户的选择来制作显式 Intent 以将用户路由到请求的 activity。