我想在我的Android應用程序中實現功能,這將允許用戶在我的應用程序中支持其國家/地區時收到通知,我對如何實現此功能存在一些疑問。以編程方式註冊的廣播接收機將在多長時間內實時播放?
使用情況是這樣的:
用戶進入活動,在那裏他可以看到支持的國家名單。用戶的國家永遠是第一位的,如果不支持,他可以點擊一個按鈕,並要求在他的國家獲得支持時通知他。
一些想法:
1.當上的一個按鈕,我會註冊網絡狀態用戶點擊經由registerReceiver()方法改變廣播接收器。在已註冊的接收器中,我會經常檢查用戶是否在使用WiFi,如果是,請從服務器下載一些字節以檢查用戶的國家是否受支持。當被支持時,我將取消註冊接收器。我對這個想法的懷疑是以編程方式註冊廣播接收器的時間有多長?也許接收器需要持續數月。如果用戶不卸載我的應用程序,接收器會一直接收事件?在Android清單
2.註冊廣播接收器,當被告知用戶請求把布爾在SharedPreferences shouldBeInformed和廣播接收器繼續之前總是檢查此值。
你有什麼想法如何優雅和有效地處理這個問題? C2DM不適合用於此momemnt。
謝謝。
嗨@CommonsWare,在添加/刪除國家/地區支持時無需在Android市場上發佈新版本。我總是在應用程序啓動時下載最新的數據。當然,在某種程度上有本地的緩存機制,但這不是問題。 「支持國家」意味着用戶現在可以訪問與他的國家相關的一些新數據。 –
@ a.ilic:「我總是在應用程序啓動時下載最新的數據。」 - 然後檢查下載數據時是否支持該國家。如果您想讓用戶知道何時可以更新數據,請使用'AlarmManager'和'IntentService'來每天檢查一次(或者您認爲合適的頻率)。 – CommonsWare
我的想法是通知用戶,即使他沒有使用我的應用程序,但它已安裝在手機上。謝謝,我會檢查'AlarmManager'和'IntentService'。 –