【发布时间】:2014-03-05 19:48:47
【问题描述】:
我知道如何打开定义了意图过滤器的应用程序,如 Launch custom android application from android browser 中所回答的那样,但是如果我无法控制 Android 应用程序,并且它还没有定义我可以定义的意图过滤器怎么办用吗?
我是否需要联系开发人员并要求添加意图过滤器,或者是否有其他方法可以从浏览器打开应用程序?
【问题讨论】:
我知道如何打开定义了意图过滤器的应用程序,如 Launch custom android application from android browser 中所回答的那样,但是如果我无法控制 Android 应用程序,并且它还没有定义我可以定义的意图过滤器怎么办用吗?
我是否需要联系开发人员并要求添加意图过滤器,或者是否有其他方法可以从浏览器打开应用程序?
【问题讨论】:
如果应用程序的Activity 没有定义IntentFilter,默认情况下系统会将Activity 保密,不会将其导出以供其他应用程序启动。但是,如果开发人员在应用程序的清单中为 Activity 设置了 android:exported="true",您应该可以通过在 Intent 中指定组件名称来启动它。
【讨论】:
Activity,它是您应用程序的一部分(具有浏览器功能),那么您可以通过Intent 中的组件名称启动它。无需操作、类别或数据。但是,如果应用程序是一个完全不同的包并且 Activity 尚未导出,那么您将无法启动它。