如何在启动startActivity后确保后退按钮返回到我的应用程序?

时间:2017-03-29 13:51:44

标签: android android-intent android-activity

我有一个应用程序通过他们的Java Rest API与Google Drive互连以打开文档。

我使用以下代码在Google云端硬盘上打开文档

Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(results.get(0)));
startActivity(browserIntent);

如果Google Drive之前已关闭,用户可以使用后退按钮返回我的应用,但如果已经打开,则用户无法使用后退按钮返回我的应用,而是返回到Google中的之前活动驱动。

我尝试设置以下几个标志无效

browserIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
browserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
browserIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

使用这些标志并不能解决我的问题,那么我可以使用哪些标志?

1 个答案:

答案 0 :(得分:1)

如果您要打开另一个应用程序,那么您无法控制其活动堆栈。

因此,如果App已经在运行,那么它的堆栈可能包含活动。当用户按下后退键时,屏幕会出现。

您可以添加您想要的功能,就像我们可以检查用户来自另一个应用程序然后按下后面杀死我的应用程序(第三方/已启动的应用程序)。但是根据用户的观点会发生什么,如果他浏览了几个选项并将他的应用程序放在后台以供以后工作,那么突然一切都清楚了。