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
。发生了什么,我不希望发生的是带来新的活动,而不是当前正在运行的活动。另外,当前正在运行的活动不会显示从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
。
设置Intent.FLAG_ACTIVITY_SINGLE_TOP
将确保使用的现有实例,MainActivity
并且不会创建新实例。
MainActivity.onNewIntent()
将与Intent
您一起使用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句