我在我的應用程序中使用了同步適配器。該應用應每3小時執行一次同步。這可以通過ContentResolver.addPeriodicSync
完成。但是,在此之前,我需要發送每個同步請求來發送用戶的訪問令牌。令牌的到期時間爲2小時。所以,在任何同步請求之前,它需要有一個有效的訪問令牌。如果訪問令牌已過期,則需要爲該用戶更新新令牌。Android:與同步適配器定期同步的設計考慮因素
我提出的一個解決方案是使用AlarmManager
設置重複鬧鐘。當警報觸發時,IntentService
將啓動。並刷新用戶的訪問令牌。獲得新令牌後,同步請求將使用ContentResolver.requestSync
發送到SyncAdapter
。我不確定這是否是一種好的方法或者其他有效的方法。
您如何讓用戶在同步時手動請求訪問令牌? – LightYearsBehind 2014-10-27 04:45:20
該應用程序會每隔3小時在後臺自動同步數據。如何檢查用戶是否正在使用應用程序,定期同步會觸發。 gmail,facebook或twitter等應用程序絕不會要求用戶一次又一次同步輸入數據。他們遵循什麼樣的方法來做到這一點? – Nitish 2014-10-27 04:54:22
大多數訪問令牌都帶有刷新令牌,可以讓您獲得新的令牌。 – ianhanniballake 2014-10-27 05:05:23