目标:观察SMS内容提供商以跟踪已发送的SMS,并在达到一定限制时通知用户。
START_STICKY
)后台服务,该服务初始化了一个ContentObserver,用于侦听SMS URI的更改。在阅读许多文章的同时,我发现诸如JobIntentService
之类的东西可以在后台执行任务然后完成。由于我需要ContentObserver始终运行,或者至少在设备唤醒时才能运行,因此有什么更好的方法来实现这一目标。
持续的通知使我什至停止了该服务,因为它看起来很烦人。
答案 0 :(得分:0)
在Android 7+上,我们可以使用JobScheduler和addTriggerContentUri()解决此问题及其工作。
此示例代码及其实现方法记录在下面的博客文章中。
http://midhunhk.github.io/dev/2018/08/05/content-observer-service/
export default {
renderCards() {
....
....
....
}
}
}
class MyJobService : JobService() {
override fun onStartJob(params: JobParameters?): Boolean {
doAsync{
// Do your content observer changes here
jobFinished(params, true)
}
return true
}
override fun onStopJob(params: JobParameters?): Boolean {
return false
}
更多阅读内容:https://medium.com/google-developers/scheduling-jobs-like-a-pro-with-jobscheduler-286ef8510129