- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
是否有忽略 FLAG_ACTIVITY_NEW_TASK 的情况?我从一个服务开始一个 Activity ,其 Intent 是设置该标志,当主要 Activity 在后台时,我希望在新任务中看到新 Activity ,所以我希望在后台再次看到应用程序,当我关闭新 Activity 。它不会发生,并且会显示主要 Activity 。
只是为了测试,我尝试将主要 Activity 设置为 singleInstance,在这种情况下它可以工作。不过,我不想将主要 Activity 设置为 singleInstance。
你知道这什么时候会发生吗?
我应该补充一点,我在所有设备上都看到了这种行为,所以看起来这是它应该工作的方式,而不是设备特定的问题。
最佳答案
我修复了它,为第二个 Activity 设置了不同的亲和性。问题是有关 FLAG_ACTIVITY_NEW_TASK 标志的文档指出:
If set, this activity will become the start of a new task on this history stack
但这具有误导性,因为听起来框架总是会创建一个新任务,而当 Activity 从服务启动时情况并非如此。
这是关于 Activity 的 taskaffinity 属性的文档:
android:taskAffinity The task that the activity has an affinity for. Activities with the same affinity conceptually belong to the same task (to the same "application" from the user's perspective). The affinity of a task is determined by the affinity of its root activity. The affinity determines two things — the task that the activity is re-parented to (see the allowTaskReparenting attribute) and the task that will house the activity when it is launched with the FLAG_ACTIVITY_NEW_TASK flag.
因此,如果您从 Activity 中调用 startActivity,那么会发生一个新任务,但是如果您从服务中启动它,则框架会将 Activity 附加到具有相同亲和性的任务(如果顶级 Activity 存在的话)那不是一个单一的实例
关于Android FLAG_ACTIVITY_NEW_TASK 被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10301902/
我有一个小部件,我可以从中开始两项 Activity : public final void onUpdate(final Context context, final AppWidgetManage
是否有忽略 FLAG_ACTIVITY_NEW_TASK 的情况?我从一个服务开始一个 Activity ,其 Intent 是设置该标志,当主要 Activity 在后台时,我希望在新任务中看到新
我在应用程序未激活的某个日期和时间显示对话框(具有对话框主题的 Activity ;否则无法执行)。 if (!Utils.isApplicationInForeground(context)) {
我创建了一个带有按钮的简单应用程序。单击它会触发通知,单击通知会启动同一应用程序的新实例。但是,我希望通过单击通知将我带回到触发通知的应用程序实例。为此,我查阅了 Android 文档中的 FLAG_
假设一个应用程序已经有一堆 Activity ,然后一个新的 Activity 从带有 FLAG_ACTIVITY_NEW_TASK 的应用程序上下文中启动。这发生在同一个进程中,即在应用程序内部,如
启动新 Activity 时,我遇到了关于 FLAG_ACTIVITY_NEW_TASK 标志的问题。 目前我有 2 个应用程序:应用程序 A 仅包含一个服务,它可以启动应用程序 B 的主要 Acti
我在从自定义 onClick 监听器中调用 Intent 上的 startActivity() 时遇到问题。代码编译得很好,但是当它到达执行的那个点时,我得到一个 nullPointerExcepti
我想在自定义微调器中使用分享按钮 这是我的代码: btnShareCS_One.setOnClickListener(new OnClickListener() { @Override
在我的应用程序中,我有一个可扩展 ListView ,我想在单击特定子项时打开从 Internet 下载的 PDF。当我点击它时,应用程序崩溃并且在 Android Studio 的 Android
我有一个报警项目,在 AlarmReceiver 我有这个代码。 错误是标志无法使用,Android Studio 说 FLAG_ACTIVITY_NEW_TASK 未列在可用的 Intent 标志中
我为我工作的公司创建了一个通用的可重用类,用于创建一些通用的界面元素。 该类在构造中采用单个参数:应用程序上下文。 方法之一,ContentClickableRowWithIcon 允许您传入一个用作
所以我的问题是: 我启动 App1,打开 Screen1,然后打开 Screen2。 我按 Home,将 App1 留在后台。 我打开 App2,使用 FLAG_ACTIVITY_NEW_TASK 启
我一直在测试 Intent 标志,但我需要澄清一些事情。我的抽屉导航中有两个项目,单击我执行此操作, Intent intent = new Intent(this, activityClazz);
这是我的场景:我有一系列 Activity .我对那些 Activity 设置了超时这将断开用户的连接,以防它暂时处于非 Activity 状态。但我想将用户重定向到最后一个屏幕,以防他登录 当我断开
我有一个使用 FLAG_ACTIVITY_NEW_TASK 启动 Activity B 的通知。 documentation说: [...] if a task is already running
好的,请耐心等待 我的应用程序由初始屏幕 Activity (A) 和主要 Activity (B) 组成。当应用程序启动时,(A) 会显示一会儿,然后它会启动 (B)。然后(A)完成。这在“正常”条
我有一项服务可以在 30 到 30 秒内调用网络服务器。如果返回某个值,我需要开始特定的 Activity 。问题是从服务开始 Activity 我需要设置 intent.setFlags(Inten
我正在使用 Xamarin,当我单击具有电话号码链接的 TextView 时,我的模拟器执行错误。 应用程序输出具有以下输出: [MessageQueue-JNI] Exception in Mess
我的 Activity 以 singleTop 模式和 C2DM 接收器运行。根据某些通知,我需要运行该 Activity ,并且我是这样做的: Intent activity = new Inten
在 Notification 类的文档中,我看到了这个: public PendingIntent contentIntent The intent to execute when the expan
我是一名优秀的程序员,十分优秀!