我在API 19中阅读了几篇文章,所有重复报警都是不准确的。 这是否意味着,运行Android 4.4的每台设备都无法执行完全重复的操作?或者我可以通过使用android:targetSdkVersion =" 18"在这些设备上简单地避免这种情况。在我的项目中。
我认为我不需要API 19的功能,但无论如何,每次调用警报时使用setExact并更新时间是否更好?在我的应用程序中,用户应该设置每天通知他的时间。
答案 0 :(得分:5)
这是否意味着,运行Android 4.4的每台设备都无法执行完全重复的操作?
这意味着,如果您的set()
为19或更高,默认情况下setRepeating()
和android:targetSdkVersion
等方法现在都不准确。有一个setExact()
可用于确切的警报,由您自己实施重复部分,通过再次调用setExact()
作为处理前一个{{1}触发的工作的一部分。 1}}来电。
或者我可以在我的项目中使用android:targetSdkVersion =“18”在这些设备上避免这种情况。
是的,你可以避免这种情况。但最终,有些东西会迫使你的setExact()
提高到19或更高。这意味着最终,您需要根据不精确的行为调整您的应用,或者如上所述使用android:targetSdkVersion
。
使用setExact并在每次调用警报时更新时间是一种更好的方法吗?
由于API级别19之前不存在setExact()
,因此您只能在较新的设备上使用此功能。将setExact()
设置为19或更高后,您需要在这些较新的设备上开始使用android:targetSdkVersion
,同时仍在旧设备上使用setExact()
或set()
。我不知道在setRepeating()
低于19的情况下使用setExact()
会有什么好处。