【问题标题】:Android URL intent deep linking like iOSAndroid URL 意图深层链接,如 iOS
【发布时间】:2016-02-04 10:54:17
【问题描述】:

iOS 操作系统在通过自定义 URL 方案打开的应用顶部提供此后退按钮。此按钮通常显示启动自定义 URL 方案的应用程序的名称。这可以在屏幕截图“返回搜索”中看到。搜索是现在在前台打开应用的应用。

我想知道我们是否可以自定义 android 操作栏,以便在我的应用通过自定义 URL 意图打开时产生类似的效果。

注意 - 我知道 iOS 没有后退按钮,因此开发了它。但是显示应用程序名称,明确表明我的应用程序是由该应用程序通过 URL 意图打开的。它为用户提供了更高的可见性。

【问题讨论】:

    标签: android android-intent deep-linking url-scheme


    【解决方案1】:

    我想知道我们是否可以自定义 android 操作栏,以便在我的应用通过自定义 URL 意图打开时产生类似的效果。

    没有,因为您无法知道是谁开始了您的活动。

    【讨论】:

      【解决方案2】:

      这是无法自动完成的,但是:

      Android API lvl 22 引入了一个新方法 getReferrer() 来返回有关谁启动了此活动的信息。
      默认情况下,它会返回一个android-app:referrer URI。
      例如,Chrome 测试版在启动应用时会使用 android-app//:com.chrome.beta 作为引荐来源网址。
      因此,您可以使用此值(它可能不是 100% 受信任的)并查询包管理器以获取应用程序标签。

      【讨论】:

      • 如果启动 Intent 包含 Intent.EXTRA_REFERRER,则原样返回;否则,如果已知,将返回包含启动 Intent 的包名称的 android-app:referrer URI。如果无法识别引荐来源网址,这可能会返回 null -- 它既没有明确指定,也不知道涉及哪个应用程序包。
      • 我认为默认情况下它将是一个有效的推荐人
      【解决方案3】:

      您可以收集一些管理用户体验的数据,但只能在您自己的环境中。例如 N 个相互交互的应用程序。如果您仔细考虑,您会发现知道是谁唤醒了您的应用是没有意义的,因为调用者可以使用广播,例如。

      【讨论】:

      • 这是一项可用于在特定上下文中识别调用应用程序的功能。例如。当我们使用 Adob​​e 查看某个应用下载的 PDF 时。
      猜你喜欢
      • 1970-01-01
      • 2016-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-08
      • 1970-01-01
      • 2016-06-02
      • 1970-01-01
      相关资源
      最近更新 更多