android - 如何确保后退按钮在触发 startActivity 后返回到我的应用程序?

标签 android android-intent android-activity

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

我正在使用以下代码打开 Google Drive 上的文档

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

问题是,如果 Google 云端硬盘之前已关闭,用户可以使用后退按钮返回到我的应用程序,但如果它已经打开,则用户无法使用后退按钮返回到我的应用程序,而是返回到 Google 中之前的 Activity 开车。

我试过设置几个像下面这样的标志都无济于事

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

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

最佳答案

如果您正在打开另一个应用程序,那么您将无法控制它的 Activities 堆栈,这是有道理的。

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

可以添加您想要的功能,比如我们可以检查用户来自另一个应用程序,然后在按下后退时终止我的应用程序(第三方/启动的应用程序)。但是,如果他通过几个选项导航并将他的应用程序置于后台以供以后工作然后突然一切都清楚了,那么根据用户的观点会发生什么。

关于android - 如何确保后退按钮在触发 startActivity 后返回到我的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43095493/

相关文章:

android - 每次应用程序关闭时执行特定操作

android - Android EditText 中的 Highlite 特定单词

java - 微调框已选择项目选择事件

android-intent - Xamarin Android 应用程序崩溃并显示 "Intent must include an explicit package name to build an android-app"

Android - 停止广播接收器被服务杀死

在浏览器中键入时,Android 自定义 URI 方案编码不正确

android:检查 intent.ACTION_SEND 的配置操作?

java - 为什么我的推送通知不断不规律地重复?

android - android中的圆形布局

android - 具有多个 Activity 和单个启动器的应用程序