繁体   English   中英

如何将附加内容传递给已经运行的活动

[英]How to pass intent with extras to an already running activity

我有一个BroadcastReceiver ,它启动一个HomeActivity ,其中一些信息与附加HomeActivity一起传递。

当活动已经运行并且广播接收器再次被触发并尝试使用新信息启动HomeActivity时会发生什么。 活动的OnResume()OnCreate()是否执行?

如果没有,是否有任何其他方式在触发BroadcastReceiver时传递/重新加载正在运行的活动?

确保从BroadcastReceiver启动intent时设置FLAG_ACTIVITY_SINGLE_TOP标志。

intent.addFlags (FLAG_ACTIVITY_SINGLE_TOP);

...


class HomeActivity extends Activity {
   ...
   @Override
   protected void onNewIntent(Intent intent) {
      Bundle extras = intent.getExtras();
   }
   ...
}

只要扩展Cory Roy的答案,你就必须在AndroidManifest.xml中定义“SingleTop”。

<activity
        android:name="MainActivity"            
        android:launchMode="singleTop"

似乎扩展android.support.v7.app.ActionBarActivity这个方法不起作用...

暂无
暂无

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

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