我有一个支持多任务(在后台工作)的应用程序,但是我遇到了Android后退栈的问题。
这是我的情况:
Activity A启动Activity B以获取结果,所以...
Activity A --> Activity B
如果当用户在Activity B时长按home按钮并切换到另一个应用程序(例如浏览器),然后再次长按home按钮并返回到我的应用程序,他们将处于Activity B状态,但此时后退栈将如下所示:
Activity A --> Internet Browser --> Activity B
因此,当我使用finish()从我的Activity B发送结果时,它不会返回到我的Activity A,而是返回到Internet Browser...
如果用户不使用长按home按钮,而是使用home按钮返回到其启动器,然后再使用长按home按钮返回我的应用程序,情况也是如此。在这种情况下,后退栈甚至更糟:
Home Launcher --> Activity B
因此,当我在Activity B上使用finish()时,用户会回到他们的主屏幕,并且除非他们再次从应用程序抽屉中启动该应用程序,否则他们永远无法返回Activity A。
是否有任何方法在这种情况下实现多任务处理?无论用户在这两个活动之间打开了什么,Activity B都需要始终返回结果到Activity A。
这是我的情况:
Activity A启动Activity B以获取结果,所以...
Activity A --> Activity B
如果当用户在Activity B时长按home按钮并切换到另一个应用程序(例如浏览器),然后再次长按home按钮并返回到我的应用程序,他们将处于Activity B状态,但此时后退栈将如下所示:
Activity A --> Internet Browser --> Activity B
因此,当我使用finish()从我的Activity B发送结果时,它不会返回到我的Activity A,而是返回到Internet Browser...
如果用户不使用长按home按钮,而是使用home按钮返回到其启动器,然后再使用长按home按钮返回我的应用程序,情况也是如此。在这种情况下,后退栈甚至更糟:
Home Launcher --> Activity B
因此,当我在Activity B上使用finish()时,用户会回到他们的主屏幕,并且除非他们再次从应用程序抽屉中启动该应用程序,否则他们永远无法返回Activity A。
是否有任何方法在这种情况下实现多任务处理?无论用户在这两个活动之间打开了什么,Activity B都需要始终返回结果到Activity A。
Intent i = new Intent(ActivityA.this, ActivityB.class); i.setAction("android.intent.action.PICK"); startActivityForResult(i, 0);
- undefined