80,350
社区成员
发帖
与我相关
我的任务
分享
public void onStart() {
MyBroadcastReceiver mReceiver = new MyBroadcastReceiver();
IntentFilter inFilter = new IntentFilter();
inFilter.addAction(Intent.ACTION_TIME_TICK);
// 我百度了一下,说getApplicationContext得到的是整个应用程序的上下文
// 而Activity.this仅仅是该Activity的上下文,两者不同
// 那意思是不是说,广播接收注册给了哪个Context,就要由哪个Context来解除注册?
// BroadcastReceiver的onReceive函数有两个回调参数,Context和Intent
// 这个Context参数又是谁的上下文?感觉越来越晦涩了!
Context context = getApplicationContext();
context.registerReceiver(mReceiver, inFilter);
}
public void onDestroy() {
// unregisterReceiver接收一个BroadcastReceiver实例做参数,是不是要重新构造一个?
// 还是在注册和解除注册时都要传递同一个BroadcastReceiver实例?
MyBroadcastReceiver mReceiver = new MyBroadcastReceiver();
Context context = getApplicationContext();
context.unregisterReceiver(mReceiver);
}