因此,我試圖創建一個應用程序,其功能類似於Android手機的鬧鐘,它會在用戶選定的時間提醒用戶。當警報屏幕顯示時,用戶可以選擇推送通知或暫停,應用程序將推送通知然後關閉。完成後應用程序不會關閉()
但是,當我點擊打盹或通知按鈕時,應用程序未關閉。相反,該應用程序可以停止警報聲並最小化(就像用戶觸摸主頁按鈕時一樣)。如果我觸摸最近的應用程序,然後我可以再次打開警報屏幕。
編輯:我知道有一些代碼,如System.exit()或killProcess,因爲這些代碼不建議,我寧願避免使用它們。 我問的原因是因爲我測試了我的手機(4.3)附帶的真實時鐘應用程序,並且在按下暫停或解除按鈕後,它的警報屏幕將會關閉。所以一定有辦法讓我也這樣做,對吧?
回答 好了,所以作爲Sagar Pilkhwal下面解釋,閱讀等相關的問題後,我發現,有沒有「好」的方法,通過代碼的應用程序關閉,你不得不離開該選項的用戶或OS。除非你想使用System.exit或killProcess,但它們是迫使你的應用程序關閉的壞方法。
對於這個問題,Sagar Pilkhwal也有另外一種方法,如果你不想讓你的提醒屏幕出現在最近的應用程序中,你會提出另一個活動。
但是,至於這種情況和一般的Alarm Manager,打開MainActivity會導致討厭的東西,因爲MainActivity是我們處理Alarm事件的時候。後來我發現另一種解決辦法,如果你不想讓你的警報屏幕在最近的應用程序顯示出來,只需添加
android:excludeFromRecents="true"
您Alert.class活動的清單,或添加Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
用來啓動意圖Alert.class。
這會導致其他問題,因爲當用戶按下主頁按鈕時,鬧鐘不會關閉,並且用戶無法打開最近的應用程序來訪問警報屏幕(他必須打開應用程序這樣做)。我通過嘗試檢測主按鈕按下事件來解決此問題。詳細答案如下。
考慮制定[最小的,完整的,並且覈查示例](http://stackoverflow.com/help/mcve)。這是很多代碼,並不是所有的都需要重現你的問題。包含您編程的語言以及您正在編程的設備是有幫助的。 – 2014-09-04 18:29:51
謝謝,我編輯並刪除了部分代碼。其餘的,我真的不知道它是否與問題有關(如果我知道我然後我不會問這個問題),所以爲了安全起見,我仍然保留它。 – Usin2705 2014-09-05 05:08:54