[英]Android: How to catch Intent's Extras if the activity is already running?
[英]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.