2011-12-14 52 views
2

在我的應用程序中,我有一項服務,例如30秒後,運行另一項活動。我使用Alarm Manager完成了這個過程。如何知道系統時鐘是否改變?

但問題是,如果用戶更改系統時間,則會影響30秒。你有什麼建議?有什麼方法可以知道用戶是否更改系統時間?

+0

我建議你閱讀本:http://developer.android.com/reference/android/os/SystemClock .html 看起來它會讓你的生活變得簡單很多。我知道我已經晚了7個月,但爲了防止再次遇到問題,該文檔將很有用。基本上,`SystemClock`可以讓你測量已用時間,而不必依靠系統的掛鐘。 – cesar 2012-07-18 00:59:24

回答

2

您可以收聽Intent.ACTION_DATE_CHANGED廣播。你ApplicationManifest文件應包含類似於

<receiver android:name="com.test.YouBroadcastReceiver" > 
     <intent-filter> 
      <action android:name="android.intent.action.DATE_CHANGED" > 
      </action> 

      <category android:name="android.intent.category.DEFAULT" > 
      </category> 
     </intent-filter> 
    </receiver> 

對於廣播接收機參考:

http://developer.android.com/reference/android/content/BroadcastReceiver.html

+4

另外,ACTION_TIME_CHANGED和ACTION_TIMEZONE_CHANGED操作可能在這裏很有用。 – Anirudh 2011-12-14 07:43:55

相關問題