无法取消注册ContentObserver

时间:2014-11-10 19:01:55

标签: android sms contentobserver

所以,这是我在服务中使用的代码:

  1. 服务开始&运行此代码:

      SmsObserver smsSentObserver = new SmsObserver(new Handler(), this);
      this.getContentResolver().registerContentObserver(Uri.parse("content://sms"), true,            
      smsSentObserver); 
    
  2. 然后服务stopSelf()

    2.服务开始&运行此代码:

          SmsObserver smsSentObserver = new SmsObserver(new Handler(), this);
          this.getContentResolver().unregisterContentObserver(smsSentObserver);
    

    然后服务stopSelf(),

    问题:ContentObserver未注销&继续接收onChange方法

    附加信息:之前一切正常,它与KitKat有关或有什么问题?

    由于

1 个答案:

答案 0 :(得分:1)

AFAIK你正在为Observer创建一个不同的对象,所以也许这就是它给你带来麻烦的原因。

在您的服务中保留SmsObserver的引用,并使用该变量来呼叫unregisterContentObserver

这应该可以解决你的问题