Android Persistent ContentObserver

时间:2010-05-01 23:25:46

标签: android

内容观察者是否在Android中持久存在?如果我在一个活动中创建一个内容观察者,那么该观察者是否会继续运行直到我删除观察者。

基本上我正在创建一个短信服务,在接收和发送时我将短信发送到网络服务,所以我可以在没有手机的情况下查看我的短信。

如果内容观察者与活动的生命息息相关,我该如何创建一个始终接收内容通知的ContentObserver:/ sms /

2 个答案:

答案 0 :(得分:5)

  

如果我在一个内容中创建一个内容观察者   活动,观察者会继续吗?   运行直到我删除观察者。

只有当你喜欢泄漏内存时,才会在Android终止进程之前。表现良好的活动不会在没有在适当的时间取消注册的情况下注册内容观察者(例如,onDestroy())。

  

如何创建ContentObserver   总会收到通知   关于内容:/ sms /

SMS内容提供商不是SDK的一部分。它可能适用于您的手机,也可能不适用。它可能会或可能不会在Android的未来版本中有效。

ContentObserver稍微坚持一下的唯一方法就是让它在Service中。但是,services do not live forever, either。除此之外,没有办法让观察者“总是收到通知”。

抱歉!

答案 1 :(得分:0)

我已经尝试了许多方法来使这项工作有效,唯一可行的(非理想的)方法是让前台服务运行,即使您的活动被破坏也可以运行。前台服务注册contentobserver。缺点是前台服务需要永久性通知。

我仍在寻找一种方法,使后台服务在不被回收的情况下运行,并且越来越难。像“粘性”和broadcast receiver to restart service之类的东西不再起作用。