2011-12-14 56 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

相关问题