android - 在启动 Intent 之前,如何知道系统在android中选择了多少隐式 Intent

标签 android android-intent

我有一个书籍列表。所以在点击书籍时,提供隐式 Intent 并让系统选择合适的读者。我的代码如下..

File file = new File(path);
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.fromFile(file));
startActivity(intent);

现在一切正常。系统正在使用对话框显示竞争 Action 。

现在在启动 Activity 之前,我只想知道选择了哪些阅读器系统。并打印它们。有谁知道请帮助我..在此先感谢。

最佳答案

使用PackageManager。您可以调用 queryIntentActivities() 来获取将呈现给用户的 Activity 列表。确保设置标志 MATCH_DEFAULT_ONLY,否则您将不会获得将显示给用户的相同结果集。

关于android - 在启动 Intent 之前,如何知道系统在android中选择了多少隐式 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19922831/

相关文章:

java - 更改 JSON 对象 Android 中的 Name() 值

android - 如何修复 gradle build for android studio 中的重复类

java - LogCat条目含义

java - RxJava 与 AsyncTask 和 Activity 在 android

android - 如何接收 android.nfc.action.TAG_LOST Intent 来检测标签移除?

android - Android:浏览音频播放列表并从应用程序中打开M3U文件

java - 将 java mjpeg 流字节转换为图像

android - 确定设备是否可以启动 Android 电子市场应用程序

Android - 使用最后一个操作与 Intent 共享

Android - 使我的应用程序可从应用程序列表和 "Share"菜单启动