Android似乎沒有提供user application to change the system time的方法。我想要做的是讓用戶改變時間。這是很容易打通日期&時間設置:讓用戶更改Android中的時間
startActivity(new Intent(android.provider.Settings.ACTION_DATE_SETTINGS));
我想知道的是:
- 是否有可能直接鏈接到設定時間的選擇嗎?
- 是否可以檢查用戶是否正確設置時間?我知道
TIME_CHANGED
廣播消息的,但我不能找到它的任何文檔
更新:
的TIME_CHANGED廣播消息不提供有關它如何變化的任何信息。這沒有明確記錄,但我試過getData
和getExtras
,並沒有收到任何信息。另外,看看documentation的其餘部分,除非明確記錄,否則不會傳遞任何數據或附加內容。同樣,它實際上是documented,ACTION_DATE_SETTINGS
沒有輸入,並且暗示它不需要額外的東西,所以沒有辦法更精確地控制它。
CommonsWare指出我應該明白什麼 - 只要檢查用戶是否將時間設置爲從服務器檢索到的值,而不必擔心在選項菜單中花費的時間,它幾乎總是可以工作。由於這個假設實際上可能是錯誤的,如果我使用這種方法,那麼我會確保消息說時間是可能是設置正確或不正確,而不是使用明確的語句。
但是,我發現elapsedRealtime,所以我會真正實施這種檢測正確。
我已經提供了這個問題的意圖。我問你是否可以直接鏈接到設定的時間選項,而不僅僅是一般的時間/日期設置。只需點擊一下,但我仍然希望儘可能方便用戶。 – Casebash 2010-05-10 12:04:55
但是,我將如何計算用戶在時間設置應用程序中花費的時間?我不能使用系統時鐘,因爲用戶正在改變它。它通常不會很重要,但假設一個朋友打斷他們,並在15分鐘後完成時間設置。我知道這是一個愚蠢的情況,但是應用程序不應該在不是時候說某些事情是正確的。 – Casebash 2010-05-10 12:11:49
對不起 - 沒有注意。如果時間對你來說比對用戶更重要,那麼你就不應該依賴於用戶。使用一個NTP客戶端並自己準備好時間。我似乎回憶了一些有關NTP客戶端的人在「android-developers」列表上的帖子。 – CommonsWare 2010-05-10 12:24:21