在电话中取消注册

时间:2014-12-10 06:38:56

标签: android

我只是在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。 我该如何解决我的问题?

0 个答案:

没有答案