1
我在端口上有一個UDP套接字的活動。如果我按Home鍵的活動去的背景下,的onPause()和調用OnStop()方法被調用。現在我想在收到一些UDP數據包時恢復我的活動。 閱讀其他職位我明白,我必須:Android:恢復單個任務活動
- 申報活動爲
android:launchMode="singleTask"
(或singleInstance
) - 然後,當我想恢復活動:
Intent intent = new Intent(this.getApplicationContext(), myActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent);
該解決方案不適合我。撥打startActivity(intent)
不會顯示我在前臺的活動,並且onResume()
未被調用。
以下標誌做的工作,但我不想明確任務,並重新啓動一個新的。
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
你的UDP套接字是一種服務,對不對? – njzk2 2014-09-23 16:24:06
主活動關閉時,套接字處於服務狀態。當我創建主要活動時,套接字在服務中被解除綁定,主要活動綁定它。 – peregrinus 2014-09-24 18:29:29