2013-03-01 129 views
2

一般來說,我有一個服務向我的活動發送一個意圖,它每6秒鐘總是一次,而BroadcastReceiver每次接收時都會更新一個計時器。BroadcastReceiver停止工作

我偶然發現,經過一段時間(這是隨機的),特定的接收器停止工作。

OnPause i unregister it和onResume我再次註冊它。

此外這發生在任何設備和Android版本中。

我在網上搜索發現,在onReceive之後,接收器已經準備好被Android殺死,但我的意圖不斷。

「接收器生命週期

一個BroadcastReceiver對象僅適用於調用的onReceive(上下文,意圖)的持續時間。一旦這個函數代碼返回時,系統考慮的對象完成並不再活躍。 「

FYI我已經聲明它像這樣我的活動

public class MyReceiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context arg0, Intent intent) { 

     Log.i("Intent received", "+_ " + intent.getAction()); 
     if (intent.getAction().equals(TEST)) { 
     //do sth 
     } else { 

     //do sth else 
     } 


    } 
} 

Thans裏面很多甚至抽出時間來閱讀:)。

我不宣佈anythin到我的清單,至於我的logcat我必須在我的電話發生的時刻。該服務是一個異步任務之後的簡單發送廣播。我做的最後一個測試是通過記錄發送的beeing來確保服務中的代碼正在運行。服務繼續。

我遠離我的代碼現在寫,但我認爲不會有任何幫助,因爲它非常簡單。 Thnaks

+0

你可以發佈,活動,服務,清單和logcat嗎? – 2013-03-01 15:49:37

回答

0

嗯,我還可以找出,但我找到一個解決我的問題

定時器現在處於活動和接收器發送該事件,但經過10000次嘗試我想觸發結束事件。現在接收器,因爲他沒有工作,我不能得到它,但現在我開始一個意圖額外的相同的活動總是與標誌new_task和clear_top。

無論我的接收器是否正常工作,由於服務沒問題,我將開始具體的活動並僞造END EVENT。

PS ::這種行爲並不總是觸發,但有時。所以現在我沒事。

如果我不理解,請評論和問任何事。謝謝