2010-05-01 65 views
2

是内容观察家执着于Android的?如果我在活动中创建内容观察者,那么观察者会继续运行,直到我移除观察者。Android的持续ContentObserver

基本上我创造了短信服务,其中在接收和发送上我发布短信给某个网络服务,这样我就可以有我的电话了检查我的消息。

如果内容观察者是联系在一起的活动的生活,我怎么可以创建一个ContentObserver将始终接收通知的内容:/短信/

回答

5

如果我创建一个 活动内容的观察者,将该观察者继续运行 直到我删除观察者。

只有当您喜欢泄漏内存时,才会终止进程。行为良好的活动在适当的时候不注册内容观察者(例如,onDestroy())。

我怎么可以创建一个ContentObserver ,将永远在内容接收通知 :/短信/

的短信内容提供商是不是SDK的一部分。它可能会或可能不会在您的手机上工作。它可能会或可能不适用于未来的Android版本。

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

对不起!

+0

是什么样的方式将它被认为是泄漏的内存,如果你的目的是为了有一个持续的内容观察者?就像广播接收机一样。如果我理解正确的话,内容观察员,如果它通过它是一个服务注册(尽可能)存活更长的持续不仅仅是注册观察者运行,而不是保持对它的引用,例如一个更好的机会,直接在开机后的广播接收器的'onReceive()'方法中? – Reti43 2017-02-20 00:08:37

+0

@ Reti43:“是什么样的方式会是考虑泄漏的内存,如果你的目的是为了有一个持续的内容观察者?” - 你不会从一项活动那样做。 “如果我理解正确......” - 虽然在Android 7.0+上是正确的,但您可以使用JobScheduler观察您的内容,并在发生更改时调用您的JobService。 – CommonsWare 2017-02-20 00:16:34