1

我的应用程序设计为作为单个实例运行,并且“后退”按钮不允许您退出应用程序并返回到“开始”屏幕,因为它在内部用于导航屏幕层次结构,其中每个屏幕都可以是一个活动。

但是,外部应用程序可以启动应用程序的内部活动之一。当用户完成了活动的设计目的时,用户的直观操作是点击返回按钮返回到调用客户端。但是因为我阻止了后退按钮退出,所以用户无法返回。

当代码检测到客户端正在启动活动时,我可以添加代码来覆盖它。然而问题是,如果应用程序关闭返回,用户可能会从他们离开的地方返回到应用程序。但是由于我关闭了应用程序以返回调用客户端,因此用户无法返回上次打开的应用程序。我的应用程序需要保留为单个实例,因此不能多次创建启动的活动。关于如何返回到调用客户端但如果在调用客户端使用其活动之一时应用程序正在运行时如何保持应用程序运行的任何建议?

4

1 回答 1

0

通常,您可以以编程方式控制后退导航轨迹。查看 TaskStackBuilder和处理通知的文档Responding to Notifications。看来您要做的是控制所谓的“回栈”。如果您使用 TaskStackBuilder,则行为将与您所在的平台版本相匹配。

在 3.0 之前的平台中,“后退”按钮一直通过后退堆栈到达用户打开手机后执行的第一个任务。3.0后,back不穿越任务边界;为了获得其他任务,用户单击“最近的项目”图标。应用程序中还有“向上”图标,用于导航到应用程序内任务的“开始”。TaskStackBuilder 将为所有版本“做正确的事”。

在当前平台版本中,不允许 Back 退出你的应用是可以的,因为 Back 应该只去当前任务中的第一个 Activity。在 3.0 之前的版本中,不允许 Back 退出应用程序更成问题,我个人不会那样做,但这取决于你。

在 Intent 启动您的应用程序后用户单击返回时会发生什么,应该从我引用的文档中清楚地看出。基本上,您要做的就是回到上一个任务。

于 2012-06-29T21:44:50.630 回答