2011-10-24 24 views
3

我的應用需要正確的時間(不能依賴設備時間,因爲用戶可以更改它+運營商可能不可用或不支持NITZ)。最初我使用http調用可信服務器,但有些情況下網絡不可用。android檢測用戶修改設備時鐘時間

我可以使用其他選項嗎?

我可以依靠廣播ACTION_TIME_CHANGED來檢測用戶是否修改了設備時鐘嗎?我的應用程序是否總是需要運行才能得到此通知(我想避免這種情況)?

謝謝!

回答

2

我的應用需要正確的時間

千萬不要相信客戶端的準確時間,在任何平臺上。

最初我使用http調用可信服務器,但是有些情況下,網絡不可用。

那麼根據定義,您無法獲得準確的時間。

有沒有其他的選擇我可以使用?

您可以創建自己的固件,防止用戶設置時間。

我可以依靠廣播ACTION_TIME_CHANGED來檢測用戶是否修改了設備時鐘嗎?

不,只要有幾個可能的原因,爲什麼這個廣播將被髮送。

我的應用程序是否總是需要運行才能得到這個通知(這個我想避免)?

我可以告訴你,ACTION_TIME_CHANGED唯一的接收器,我在Android源代碼,看到的是那些通過registerReceiver(),沒有清單註冊它。不過,這種廣播並不適合通常需要registerReceiver()的模式。你試試它可能更簡單。

相關問題