android - 类似于 API 8 中的 FLAG_ACTIVITY_CLEAR_TASK 的标志

标签 android android-intent android-manifest

我的应用程序有一个 Activity A,它触发 B,B 又触发 C。

Activity A 是在 list 文件中带有 intent 标志 android:noHistory="true"的启动器。这显示了启动画面。 2 秒后,它使用 Intent 标志 FLAG_ACTIVITY_NO_HISTORY 触发 B。 B 在没有任何 Intent 标志的情况下正常触发 C。现在 Stack 将只有 Activity C。

在 Activity C 中,每当按下返回时,它都会触发 Activity B。现在 Stack 应该只有 Activity B。它不应该有任何其他 Activity 的痕迹。

我在 Activity C 中使用了以下代码。但是标志 FLAG_ACTIVITY_NEW_TASK 只能从 API 11 获得。该应用程序应该支持 API 8 的设备。请协助我使用正确的 Intent 标志来实现所解释的场景

代码:

         Intent dragDropIntent = new Intent("android.intent.action.DRAGDROP"); 
         dragDropIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
         dragDropIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

我同意在没有历史记录的情况下开始 Activity C 会有所帮助。但是做一些我不想做的技术限制。提前致谢

最佳答案

你正在寻找这个:

Intent intent = new Intent(activity, activityClass);
ComponentName cn = intent.getComponent();
Intent mainIntent = IntentCompat.makeRestartActivityTask(cn);
activity.startActivity(mainIntent);

使用来自 google 的 android 兼容性库 - 在 sdk 中找到。

或使用finish()

关于android - 类似于 API 8 中的 FLAG_ACTIVITY_CLEAR_TASK 的标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17585073/

相关文章:

java - Android WebView : display only some part of website

android - 如何使用 FLAG_KEEP_SCREEN_ON 在 Flutter 中保持屏幕打开?

java - 运行应用程序时只能看到主屏幕,看不到我的应用程序

安卓 : How to launch Pending intent from another activity with extras?

Android选择 Activity 文字颜色

android - Activity 打不开

android - 如何确保我的应用程序仅适用于 Android Market 上的手机?

android - ServiceTestCase 空指针中的 MockContentResolver

android - 真的没有得到 setResult 和 onActivityResult

android - 通过 ADB 安装新的启动器应用程序时,未清除家庭默认应用程序