2010-05-10 38 views
1

Android似乎沒有提供user application to change the system time的方法。我想要做的是讓用戶改變時間。這是很容易打通日期&時間設置:讓用戶更改Android中的時間

startActivity(new Intent(android.provider.Settings.ACTION_DATE_SETTINGS)); 

我想知道的是:

  1. 是否有可能直接鏈接到設定時間的選擇嗎?
  2. 是否可以檢查用戶是否正確設置時間?我知道TIME_CHANGED廣播消息的,但我不能找到它的任何文檔

更新:

的TIME_CHANGED廣播消息不提供有關它如何變化的任何信息。這沒有明確記錄,但我試過getDatagetExtras,並沒有收到任何信息。另外,看看documentation的其餘部分,除非明確記錄,否則不會傳遞任何數據或附加內容。同樣,它實際上是documented,ACTION_DATE_SETTINGS沒有輸入,並且暗示它不需要額外的東西,所以沒有辦法更精確地控制它。

CommonsWare指出我應該明白什麼 - 只要檢查用戶是否將時間設置爲從服務器檢索到的值,而不必擔心在選項菜單中花費的時間,它幾乎總是可以工作。由於這個假設實際上可能是錯誤的,如果我使用這種方法,那麼我會確保消息說時間是可能是設置正確或不正確,而不是使用明確的語句。

但是,我發現elapsedRealtime,所以我會真正實施這種檢測正確。

回答

4

是否可以直接鏈接到 設置時間選項?

嘗試:

startActivity(new Intent(android.provider.Settings.ACTION_DATE_SETTINGS)); 

是否可以檢查用戶 正確設定時間?

::聳肩::

應用程序再次獲得控制權後,檢查的時間。

+0

我已經提供了這個問題的意圖。我問你是否可以直接鏈接到設定的時間選項,而不僅僅是一般的時間/日期設置。只需點擊一下,但我仍然希望儘可能方便用戶。 – Casebash 2010-05-10 12:04:55

+0

但是,我將如何計算用戶在時間設置應用程序中花費的時間?我不能使用系統時鐘,因爲用戶正在改變它。它通常不會很重要,但假設一個朋友打斷他們,並在15分鐘後完成時間設置。我知道這是一個愚蠢的情況,但是應用程序不應該在不是時候說某些事情是正確的。 – Casebash 2010-05-10 12:11:49

+0

對不起 - 沒有注意。如果時間對你來說比對用戶更重要,那麼你就不應該依賴於用戶。使用一個NTP客戶端並自己準備好時間。我似乎回憶了一些有關NTP客戶端的人在「android-developers」列表上的帖子。 – CommonsWare 2010-05-10 12:24:21