Android:如何获取所有可用 Intent 过滤器的列表?

标签 android android-activity broadcastreceiver intentfilter

我搜索了 Android 文档,但出于某种疯狂的原因,我无法找到所有可用 Intent 过滤器的列表。

我正在寻找一个 Intent 过滤器,它可以通过广播接收器通知我某个特定 Activity (例如浏览器或电子邮件)已启动或在前台。

谁能帮我解决这个问题?

最佳答案

PackageExplorer 列出了您设备中应用程序中定义的所有 Intent 过滤器

回答您的问题:您创建要用于在程序寻找服务或 Activity 时选择您的 Activity 的 Intent 过滤器。因此,包中的每个 Activity 都定义了自己的 Intent 过滤器列表。

我发现拥有一个由设备上的所有应用程序定义的所有 Intent 过滤器的列表很有用——这样可以知道在处理 Intent 时系统会调用哪些应用程序。我在 Android Market 上放了一个免费应用程序,搜索“包资源管理器”,搜索它可以在您的设备上找到的所有应用程序,解码 AndroidManifest.xml 文件并显示所有应用程序定义的所有 Intent 过滤器的列表。所有 Intent 过滤器的表格可以按操作、类别、数据字段(即方案或 mimetype)、包名称或 Intent 过滤器类型进行排序,因此您可以在设备上找到响应各种操作或类别的所有 Activity 。

包资源管理器还会收集 list 中的所有使用权限字段,并显示哪些应用需要哪些权限的列表。因此,您可以找到所有使用“SEND_SMS”或类似名称的包。单击包的名称会显示该包的解码(未压缩的二进制)AndroidManifest.xml。

关于Android:如何获取所有可用 Intent 过滤器的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4094109/

相关文章:

android - 我的 AlarmDemo 在我的 logcat 中不断崩溃,原因不明

java - 使布局可点击,并启动一个 Intent

android - 使用隐藏的api构建Android项目的gradle:在某些构建环境中失败,而在其他构建环境中成功

Android 类扩展 MainActivity 上的 View 和位置

android - 应用程序关闭时运行警报

android - PendingIntent.getBroadcast() 永远不会返回 null

java - Eclipse Android SDK : Bad version number in . 类文件

android - 如何针对多个 API 级别?

android - 使用 setContentView 加载布局时显示 ProgressDialog

android - 在 Activity 中禁用上下文语音命令