接收短信的监听器会一直活在后台,哪怕程序被关闭,监听器会一直存在并在收到消息时激活主程序。在一般的设计中,都不会这么做,因为这是浪费资源且得不到良好用户体验的。因此需要在自己的程序并闭后,将监听器取消。 一、建立一个后台服务,该服务用于接收消息并将消息广播给BroadcastReceiver。由于服务可以被终止,终止时不再转发消息,后台的BroadcastReceiver也因此不再生效,会自动被GC回收。程序的目标也达到了 java代码: package eoe.demo; import android.app.Service; public class ListenService extends Service {
import android.content.BroadcastReceiver; public class MessageReceiver extends BroadcastReceiver {
import android.app.Activity; public class MsgListen extends Activity { 在程序的onResume()事件中启动服务,在onPause()事件中停止服务 |