gpt4 book ai didi

android - 从单独的 Intent 向主 Activity 发送数据

转载 作者:行者123 更新时间:2023-11-29 20:54:07 25 4
gpt4 key购买 nike

Intent goMain = new Intent(getBaseContext(),MainActivity.class);

goMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
goMain.putExtras(extras);
getApplicationContext().startActivity(goMain);

我想做的是,从单独的 IntentService 或一个且唯一的 MainActivity 发送数据。发生的事情是带来新的 Activity 而不是当前正在运行的 Activity ,而我不希望它发生。此外,当前运行的 Activity 不显示从 intentservice 发送的数据。当我尝试删除 FLAG_ACTIVITY_NEW_TASK 时,出现“从 Activity 上下文外部调用 startActivity() 需要 FLAG_ACTIVITY_NEW_TASK 标志”错误。谁能帮我这个?提前致谢。

最佳答案

使用 Intent.FLAG_ACTIVITY_CLEAR_TASK 导致了您的问题。如果您想使用 Activity 的现有实例,请使用这组标志:

goMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);

设置 Intent.FLAG_ACTIVITY_CLEAR_TOP 将从任务堆栈中移除位于 MainActivity 之上的任何其他 Activity 。

设置 Intent.FLAG_ACTIVITY_SINGLE_TOP 将确保使用 MainActivity 的现有实例,并且不会创建新实例。

MainActivity.onNewIntent() 将使用您使用的 Intent 调用。

关于android - 从单独的 Intent 向主 Activity 发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28257421/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com