繁体   English   中英

开始活动的意图 - 但不要放在前面

[英]Intent to start activity - but don't bring to front

描述:

  • 活动A可见(或在后台)
  • Intent I由带有有价值的额外内容的广播接收,然后将额外内容传递给将用于启动 Activity A的新 Intent I2
  • 结果:如果活动在后台,则不要将活动放在前面。

代码:

Intent I2= new Intent(context, MyActivity.class); 
I2.putExtra(..
I2.setFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK); // | Intent.FLAG_ACTIVITY_NEW_TASK); 
context.startActivity(I2);

注意:我没有添加“android:taskAffinity”来显示..我想你应该知道

如果您希望您的活动在后台进行,请在活动的 oncreate 中添加此行

moveTaskToBack(true);

您可以在onCreate()方法中使用这一行:

moveTaskToBack(true);

您不想在后台启动Activity 有更好的方法来做你想做的事。 例如,您可以让您的Activity注册以接收广播Intent 即使它在后台,它也会收到对onReceive()的调用。 您可以通过在onPause()中将变量设置为true并在onResume()中设置为false来确定您的Activity是否在后台。 然后在onReceive()中,如果变量为true ,您就在后台。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM