【发布时间】:2015-05-27 22:03:54
【问题描述】:
我有一个 Android 应用并注册了一个自定义 URL 方案。是否可以获得启动我的应用程序的应用程序(例如 Facebook、Chrome 等)?目前,我只能找到如何获取被点击的 URL,而不是启动我的实际应用程序。我可以这样做还是我在追逐不可能的事情?
谢谢
【问题讨论】:
标签: java android android-activity uri url-scheme
我有一个 Android 应用并注册了一个自定义 URL 方案。是否可以获得启动我的应用程序的应用程序(例如 Facebook、Chrome 等)?目前,我只能找到如何获取被点击的 URL,而不是启动我的实际应用程序。我可以这样做还是我在追逐不可能的事情?
谢谢
【问题讨论】:
标签: java android android-activity uri url-scheme
不,你不能。 当然,除非您定义了一个专有协议,其中调用活动在意图中包含其自身的名称,并且您还可以控制调用应用程序。显然,这不适用于查明 Chrome 或 Facebook 是否因为您无法控制这些应用而给您打电话等情况。
您使用ActivityManager.getRecentTasks() 可能会取得一些有限的成功,并尝试找出任务列表中排名第二的应用程序,但该 API 在 Lollipop 中已被弃用,并且在旧平台上也无法信任,应用程序可以选择被排除在最近的任务之外,您的应用可能正在生成一个新任务或成为调用应用任务的一部分,等等。
【讨论】: