0

我有一堂课如下:

public class FYPSmsReceiverBroadcast extends BroadcastReceiver

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

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

 public void onPause() {


        unregisterReceiver(FYPSmsReceiverBroadcast);
    }

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

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

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

任何人都可以建议吗?

4

1 回答 1

3

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

FYPReceiverBroadcast myFYPReceiverBroadcast = new FYPReceiverBroadcast(...);

...

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

这是一个如此基本的编程概念,我建议您阅读以下文章以了解差异:

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

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

于 2012-08-10T13:18:55.117 回答