0
public class MyReceiver extends BroadcastReceiver {
private static IReceiveMessage iReceiveMessage;
@Override
public void onReceive(Context context, Intent intent) {
       iReceiveMessage.receiveMessage(intent.getStringExtra("message"));
}       
public static void setReceiveMessage(IReceiveMessage iReceiveMessage1) {
    iReceiveMessage = iReceiveMessage1;
}}

public interface IReceiveMessage {
public void receiveMessage(String message);
}




public class MainActivity extends Activity implements IReceiveMessage{

    protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
              setContentView(R.layout.main);
              MyReceiver.setReceiveMessage(this);

}
     @Override
public void onReceiverMessage(String message) {
Log.i("test", message);

}
}

为什么 Mainactivity 退出后仍会收到来自 MyReciever 的消息?

4

1 回答 1

1

您需要在 onDestroy() 中注销您的 Activity:

protected void onDestroy() {
      super.onDestroy();
      MyReceiver.setReceiveMessage(null);
}
于 2013-09-05T09:25:18.120 回答