在我的應用程序中,我有一項服務,例如30秒後,運行另一項活動。我使用Alarm Manager完成了這個過程。如何知道系統時鐘是否改變?
但問題是,如果用戶更改系統時間,則會影響30秒。你有什麼建議?有什麼方法可以知道用戶是否更改系統時間?
在我的應用程序中,我有一項服務,例如30秒後,運行另一項活動。我使用Alarm Manager完成了這個過程。如何知道系統時鐘是否改變?
但問題是,如果用戶更改系統時間,則會影響30秒。你有什麼建議?有什麼方法可以知道用戶是否更改系統時間?
您可以收聽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
另外,ACTION_TIME_CHANGED和ACTION_TIMEZONE_CHANGED操作可能在這裏很有用。 – Anirudh 2011-12-14 07:43:55
我建議你閱讀本:http://developer.android.com/reference/android/os/SystemClock .html 看起來它會讓你的生活變得簡單很多。我知道我已經晚了7個月,但爲了防止再次遇到問題,該文檔將很有用。基本上,`SystemClock`可以讓你測量已用時間,而不必依靠系統的掛鐘。 – cesar 2012-07-18 00:59:24