2
A
回答
3
發送一個BroadcastMessage
從X.在y中註冊BroadcastReceiver
與IntentFilter
相同。因此,從x您可以發送預定義的退出消息,這將由y活動的onReceive
方法捕獲。在那裏,你可以結束活動Y.
例如: Y中的活動
private BroadcastReceiver mMessageReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Bundle extras = intent.getExtras();
if (extras != null) {
if (extras.containsKey("exit")) {
finish();
}
}
}
不要忘記註冊接收
registerReceiver(
mMessageReceiver,
new IntentFilter(Constants.YOUR_INTENT_FILTER));
和註銷
unregisterReceiver(mMessageReceiver);
X中的活動:
send the broadcastmessage using `sendBroadcast(Intent i)`
對於這種內部消息的,我更喜歡LocalBoradcastManager
0
不幸的是你不能有兩個活動「跑」在同一時間。活動X經過生命週期的其最終當你開始活動Y.
參見:http://developer.android.com/guide/components/activities.html
每當一個新的活動開始,以前的活動已停止,但系統會保留在堆棧中的活動( 「後退」)。當一個新的活動開始時,它會被推到後面的堆棧並且獲得用戶焦點。後退堆棧遵循基本的「後進先出」堆棧機制,因此,當用戶完成當前活動並按下後退按鈕時,它會從堆棧中彈出(並銷燬),並恢復前一個活動。 (後面的堆棧在「任務和後退堆棧」文檔中有更多的討論。)
0
- 當您收到
BroadcastMessage
從ActivityX
那麼你可以設置一個全球boolean
的價值,你應該在使用
Activity Y
(它可能在onCreate
) 的時間檢查bolean的那個值Activity Y
,如果你得到這個布爾值
true
(或任何你在呼叫BroadcastMessage
的時間設置),則只需撥打finish()
事情就是Android並不是沒有具有活性的同時運行兩個活動,讓 你不能完成它遠程
相關問題
- 1. 與其他應用互動
- 2. Android:從其他活動完成活動
- 3. Android NativeActivity +其他活動
- 4. Android的 - 其他活動
- 5. Android活動與其他logcat包比其他
- 6. 從其他活動恢復活動
- 7. Android - 無法從Android中的其他活動打開活動5
- 8. 如何從其他活動啓動Android AppWidget的配置活動?
- 9. Android向儀表板或其他活動啓動默認活動
- 10. Android活動無法從其他活動啓動
- 11. ASP.NET - 與其他網站的互動
- 12. 與C#的其他程序互動
- 13. 從其他活動中打開活動
- 14. Android服務與多個活動交互
- 15. 從其他活動完成活動
- 16. 在其他活動上顯示活動
- 17. 活動從背景或其他活動
- 18. 從其他活動完成活動
- 19. 禁用其他活動的活動?
- 20. 完成其他活動的活動
- 21. Android AlarmManager - 從其他活動取消
- 22. Android - 使用其他活動的變量
- 23. Android:借鑑其他視圖的活動
- 24. Android:隱藏其他活動的按鈕
- 25. Android結束所有其他活動?
- 26. 獲得和其他活動中的Android
- 27. 在Android序列上調用其他活動的活動
- 28. Android推送新活動,同時清除其他活動
- 29. Android:展示其他活動的活動視圖
- 30. 代表Android的活動結果其他活動
記住ActivityX不再存在時ActivityY顯示... – Selvin
它確實存在,只是它對用戶不可見 – Carnal
不......它可以被殺死......即使你可以回到它(回棧),它並不意味着它將是相同的實例...它可以被重新處理... – Selvin