0
我有一個報警設置觸發每個n分鐘,它工作正常。 但是我發現從廣播接收器讀取應用程序的SharedPreferences會導致一些問題(它讀取了這些首選項的較早版本,可能是由於PID不同)從廣播接收器調用一個活動,但保持在後臺
我被告知要做我需要做的事情,應該調用一個Activity來解決SharedPreferences問題,但是創建了一個新的問題。
活動必須專門在後臺運行。它本質上是一個心跳,向Presence解決方案發送一些信息,保持用戶在場。
警報接收機: 公共類AlarmReceiver延伸的BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent alarmIntent = new Intent(context, AlarmActivity.class);
alarmIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
alarmIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(alarmIntent);
}
}
在清單
<activity android:name=".AlarmActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
報警活動僅發送一個HTTP更新的活性,但即使我除去除super.onCreate之外的所有行,它仍然強制應用程序進入前臺,並且重點關注。但只有當應用程序本身僅通過主頁按鈕「最小化」時纔會發生。如果我用後退按鈕關閉它,它不會強制進入對焦狀態,而心跳在後臺仍然很好。
我該如何預防?
我正在開發API版本7(Android 2.1),但可以根據需要更新到API 8。
這樣做。謝謝。我需要做些什麼來結束服務任務嗎?像活動「完成()」方法調用? – 2012-08-10 13:57:57
你可以調用stopSelf(); – 2012-08-10 14:44:47
謝謝。這是其中正確的詞觸發一個惱人的問題的正確的解決方案的情況下,其他的一切只是在適當的地方後立即:) – 2012-08-10 15:05:08