Ayr*_*nna 24 java android android-intent android-activity
我有一个BroadcastReceiver启动了HomeActivity一些与附加信息一起传递的信息.
当活动已经运行并且广播接收器再次被触发并尝试HomeActivity使用新信息启动时会发生什么.活动OnResume()或OnCreate()活动是否执行?
如果没有,是否有任何其他方式在BroadcastReceiver触发时传递/重新加载正在运行的活动?
Cor*_*Roy 40
确保从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();
}
...
}
Run Code Online (Sandbox Code Playgroud)
只是扩展 Cory Roy 的答案,您也必须在 AndroidManifest.xml 中定义“SingleTop”。
<activity
android:name="MainActivity"
android:launchMode="singleTop"
Run Code Online (Sandbox Code Playgroud)
看来扩展 android.support.v7.app.ActionBarActivity 这个方法不起作用......