2012-08-06 54 views
1

我在HTC One X stock 4.0.3 ROM上運行我的測試應用程序。當系統面板顯示時回撥到Android應用程序

當我長按「電源」時,我有一個系統面板「電話選項」,我可以在其中選擇「關機」,「飛行模式」或「重新啓動」。其實這就是我們用任何Android手機所擁有的,有點。

這裏的問題是我的活動沒有收到「onPause」回調。我無法停止線程和其他停止前的工作人員。

當任何系統面板(de)被激活時是否可以進行回調?

謝謝。

回答

1

在任何系統對話框彈出之前,廣播ACTION_CLOSE_SYSTEM_DIALOGS將被拋出。所以,你可以使用

registerReceiver(reciever, new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)); 

此意圖有一個標誌FLAG_RECEIVER_REGISTERED_ONLY這個意向登記reciever,因此,如果您註冊使用清單文件,你不能收到該廣播。所以你將不得不使用registerReciever。這可能也會在其他情況下拋出。這隻能用於激活系統對話框,不確定關於去激活

+0

是的,它在對話框啓動時起作用。要關閉對話框,需要使用其他方法。 – OGP 2012-08-06 10:08:12

+1

另一個解決方案(在我的情況下更好)是在我的活動中掛鉤WindowFocusChanged並決定要做什麼。 – OGP 2012-08-06 13:06:59

+0

我錯了。我必須在活動中結合Nandeesh的方法和「onWindowFocusChanged」。 – OGP 2012-08-08 08:01:38