取消注册扩展类的BroadcastReceiver

时间:2012-08-10 13:13:08

标签: android sms broadcastreceiver extends

我有一个课程如下:

public class FYPSmsReceiverBroadcast extends BroadcastReceiver

我需要取消注册接收器,因为当我收到短信时我已经存在应用程序后出现强制关闭错误。 (表示某些内容仍在侦听短信但由于应用程序已关闭而无法访问特定活动;错误似乎仅在收到1个文本后发生,第二个文本似乎不会产生强制关闭错误)

有许多类似的问题,但没有一个可以帮助我采用的方法。我试过添加如下的onPause:

 public void onPause() {


        unregisterReceiver(FYPSmsReceiverBroadcast);
    }

但这导致eclipse出现以下错误:'FYPReceiverBroadcast无法解析为变量'

在扩展广播接收器的类的onReceive方法中,我调用了:     FYPSpeakerActivity.speakSMSfrom();

调用另一个使用文本到语音的类 - 此行似乎是在收到SMS时被调用的行(尽管应用程序已关闭),并创建强制关闭错误。

有人可以提供建议吗?

1 个答案:

答案 0 :(得分:3)

FYPReceiverBroadcastclass。您需要传递object,这是一个示例:

FYPReceiverBroadcast myFYPReceiverBroadcast = new FYPReceiverBroadcast(...);

...

public void onPause() {
     unregisterReceiver(myFYPReceiverBroadcast);
}

这是一个基本的编程概念,我建议你阅读以下文章来了解其中的区别:

  

对象是相关状态和的软件包   行为。类是对象所依据的蓝图或原型   创建

http://alfredjava.wordpress.com/2008/07/08/class-vs-object-vs-instance/