我的应用程序旨在作为单个实例运行,而“后退”按钮不允许您退出应用程序并返回“开始”屏幕,因为它在内部用于导航屏幕层次结构,其中每个屏幕都可以是活动。
但是,外部应用程序可以启动应用程序的内部活动之一。当用户完成设计的任何活动时,用户的直观操作是点击后退按钮返回到主叫客户端。但是因为我阻止退出按钮退出,用户无法返回。
当代码检测到客户端正在启动活动时,我可以添加代码来覆盖它。但问题是,如果应用程序关闭返回,用户可能会从他们停止的位置返回应用程序。但是,由于我关闭了应用程序以返回到调用客户端,因此用户无法返回上次打开时的应用程序。我的应用程序需要保留为单个实例,因此无法多次创建启动的活动。有关如何返回到调用客户端的任何建议,但是当调用客户端使用其中一个活动时,如果它正在运行,那么应该保持应用程序运行吗?
答案 0 :(得分:0)
通常,您可以以编程方式控制后退导航轨迹。看一眼 TaskStackBuilder以及处理通知的文档Responding to Notifications。看来你要做的就是控制所谓的“后台”。如果您使用TaskStackBuilder,则该行为将与您所使用的平台版本相匹配。
在3.0之前的平台中,“后退”按钮一直通过后台堆栈到用户打开手机后所做的第一项任务。 3.0后,返回不会遍历任务边界;要进入其他任务,用户单击“最近的项目”图标。应用程序中还有“向上”图标,可导航到应用程序中任务的“开始”。 TaskStackBuilder将为所有版本“做正确的事”。
在当前的平台版本中,不允许Back退出您的应用程序是可以的,因为Back应该只转到当前任务中的第一个Activity。在3.0之前的版本中,不允许Back退出应用程序更成问题,我个人不会这样做,但这取决于你。
当用户在Intent启动应用程序后点击Back时,应该从我引用的文档中清楚地看到。基本上,你想要做的是回到上一个任务。