【问题标题】:Send data to mainactivity from separate intent从单独的意图将数据发送到 mainactivity
【发布时间】:2015-01-31 22:48:10
【问题描述】:
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 o 一个且只有一个MainActivity 发送数据。发生的事情和我不希望发生的事情是带来一项新活动而不是当前正在运行的活动。此外,当前正在运行的活动不显示从意图服务发送的数据。当我尝试删除 FLAG_ACTIVITY_NEW_TASK 时,我得到“从 Activity 上下文外部调用 startActivity() 需要 FLAG_ACTIVITY_NEW_TASK 标志”错误。谁能帮我这个? 提前致谢。

【问题讨论】:

    标签: android android-activity android-intentservice


    【解决方案1】:

    使用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 顶部的任何其他活动。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-25
      • 2022-08-24
      • 2021-07-28
      • 1970-01-01
      相关资源
      最近更新 更多