我只是在EXTRA_STATE_OFFHOOK
期间关闭动态接收器。
动态接收器是在服务控制器中制作的,它可以捕获屏幕开/关动作。
public class DisplayOnOffService extends Service {
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
final IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
filter.addAction(Intent.ACTION_USER_PRESENT);
final BroadcastReceiver mReceiver = new DiplayOnOffReceiver();
registerReceiver(mReceiver, filter); // register my receiver
return super.onStartCommand(intent, flags, startId);
}
public class LocalBinder extends Binder {
DisplayOnOffService getService() {
return DisplayOnOffService.this;
}
}
}
当我试图打电话给某人时,我想要停用上面的接收器。 我的意思是取消注册我的接收器。
CallReciever:
@Override
public void onReceive(Context context, Intent intent) {
this.mContext = context;
String state = extras.getString(TelephonyManager.EXTRA_STATE);
if(state.equals(TelephonyManager.EXTRA_STATE_OFFHOOK)){
final BroadcastReceiver mReceiver = new DiplayOnOffReceiver();
mContext.unregisterReceiver(mReceiver); // this is not working at all.
}
}
mContext.unregister
无法正常工作。
我想停止(取消注册)我的DiplayOnOffReceiver。
我该如何解决我的问题?