2012-03-25 90 views
1

我正在編寫一個android應用程序,當用戶登錄到應用程序時與服務器進行通信。現在,如果用戶關閉應用程序而不註銷,我希望每15分鐘查詢一次服務器,以查看特定用戶是否收到任何更新。如果是的話,我想推送一個通知,點擊用戶直接進入顯示更新的應用程序活動。

這怎麼可以在android中實現?可能嗎?
任何人都可以提出解決方案使用計時器?請記住,只有在實際應用程序關閉時,此後臺程序才能運行。編寫一個後臺程序,當主應用程序關閉時執行android

回答

1

是的,這是可能的。

我會做到以下幾點:

  1. 使用AlarmManagersetRepeating。這會讓你以15分鐘的時間間隔。

  2. setRepeating,傳遞一個PendingIntentIntentService

  3. 在你IntentService子類,在handleIntent,查詢您的服務器,然後創建一個Notification像記錄在http://developer.android.com/guide/topics/ui/notifiers/notifications.html

  4. Notification將包含另一個PendingIntent這會將用戶帶回您的應用。確保指定包含與該更新相關的用戶界面的Activity

您可以瞭解更多有關服務指南中IntentServices在http://developer.android.com/guide/topics/fundamentals/services.html

您可以瞭解更多關於AlarmManager在http://developer.android.com/reference/android/app/AlarmManager.html

+0

即使應用程序本身已關閉,意向服務是否仍會運行? – Ashwin 2012-03-25 10:55:49

+0

即使沒有可見的活動,AlarmManager也會啓動您的IntentService。這已在http://developer.android.com/reference/android/app/AlarmManager.html>中有詳細說明。注意:Alarm Manager用於希望讓應用程序代碼在特定時間運行的情況,即使你的應用程序目前沒有運行。 – louielouie 2012-03-25 22:39:43

+0

謝謝你的答案。你能否也請指出一些教程或一些例子來描述使用報警管理器來調用一個意圖服務? – Ashwin 2012-04-01 06:20:08

2

您可以使用服務來達到此目的。採取看看這個: http://developer.android.com/guide/topics/fundamentals/services.html http://marakana.com/forums/android/examples/60.html http://developer.android.com/guide/topics/ui/notifiers/notifications.html

+0

即使在應用程序本身關閉將服務運行? – Ashwin 2012-03-25 13:01:32

+0

是的。服務通常用於在後臺進行這種長時間運行的操作。如果你停止你的應用程序,你的服務將繼續工作。服務可以自行停止,也可以由系統或啓動該服務的應用程序停止。 – Emran 2012-03-25 14:09:41

相關問題