【问题标题】:How can I find out what kinds of actions and URI's a given app package will respond to?如何找出给定应用程序包将响应哪些类型的操作和 URI?
【发布时间】:2010-09-11 19:30:00
【问题描述】:

假设我想让电话应用程序拨打一个号码,或者让地图应用程序显示特定位置,或者让导航器应用程序导航到特定地点,等等......

显然我需要广播或发送意图。但是我使用什么操作/类别/数据 URI?每个应用程序将识别和响应什么?这似乎是应该在明显的地方记录的基本信息。但是目前还没有找到。

我确实找到了 PackageManager 类,它看起来可以告诉我我可能想知道的一切。如果我花时间编写一个包浏览器应用程序来查询它。我已经准备好这样做了,但是一些非常有用的东西肯定已经有人写过了。为什么我找不到一个?我找错地方了吗?

谢谢

【问题讨论】:

    标签: android package android-intent


    【解决方案1】:

    对于操作系统操作,您查找的大部分Intents 都记录在the Intent class 上(请参阅常量表,了解以ACTION_ 为前缀的常量,尤其是那些描述为“活动操作”的常量)。 Javadocs 解释了每个 Intent 操作的要求。

    对于某些 Google 应用,您看到的 Intents 记录在 an appendix in the developer guide 中。

    第三方应用应记录他们认为其公共 API 位于自己网站上的任何内容。

    例如,这包括“让电话应用拨打号码”(ACTION_DIAL) 和“地图应用以显示特定位置”(geo:Uri)。

    它不包括“导航到特定位置的导航器应用程序”,因为 Google 编写了该应用程序并决定不记录或支持任何公共 API。这是 Google 的决定。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-24
      • 1970-01-01
      • 2011-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多