【问题标题】:Navigation and when is activity started from a task that belongs to another app?导航以及何时从属于另一个应用程序的任务开始活动?
【发布时间】:2017-10-09 14:16:55
【问题描述】:

来自关于导航的文档(强调我的):

但是,使用 navigateUpFromSameTask() 仅适用于您的应用 是当前任务的所有者(即用户开始了此任务 从您的应用程序)。 如果不是这样,并且您的活动是在 属于不同应用的任务,然后向上导航应该会创建 属于您的应用程序的新任务,这需要您创建一个 新的回栈。

your activity was started in a task that belongs to a different app 有哪些例子?我只能想到深度链接

【问题讨论】:

    标签: android android-activity back-stack android-navigation


    【解决方案1】:

    您的应用可以将自己注册为handler for intents,例如拨号、摄像头和共享链接或文本。在这种情况下,如果用户选择了您的应用,其调用活动在技术上将是层次结构中的父级,因此向上导航会将用户返回到上一个应用。

    【讨论】:

    • 这是深度链接的应用吗?
    • 这与深度链接不同。深度链接是允许您的应用通过 URL 或带有参数的意图打开以导航到特定位置或预填充特定信息的过程。
    【解决方案2】:

    您的应用程序可以通过显式意图被其他应用程序打开。

    startActivity(new Intent(this, "your.app.package.ActivityName");
    

    在任意活动中打开应用程序的其他来源是低谷: Notifications 或 AlarmManagers,所有这些都在 PendingIntents 上运行。

    在这两种情况下,没有堆栈返回,因为您的应用不是来自堆栈。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-07
      • 2020-09-24
      • 2013-01-27
      • 2021-09-12
      • 1970-01-01
      • 2013-01-03
      • 1970-01-01
      相关资源
      最近更新 更多