如何控制ConnectivityReceiver已注册

时间:2019-02-15 20:37:16

标签: android receiver jobservice

onStop()函数中有时会抛出illegalArgumentException,这就是说mConnectivityReceiver未注册,这就是为什么我想知道如何控制isRegistered的原因。搜索了,但我找不到解决该问题的方法。

@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public class NetworkSchedulerService extends JobService implements
        ConnectivityReceiver.ConnectivityReceiverListener {

    private static final String TAG = NetworkSchedulerService.class.getSimpleName();

    private ConnectivityReceiver mConnectivityReceiver;

    @Override
    public void onCreate() {
        super.onCreate();
        Log.i(TAG, "Service created");
        mConnectivityReceiver = new ConnectivityReceiver(this);
    }

    @Override
    public boolean onStartJob(JobParameters params) {
        registerReceiver(mConnectivityReceiver, new IntentFilter(CONNECTIVITY_ACTION));
        return true;
    }

    @Override
    public boolean onStopJob(JobParameters params) {
            unregisterReceiver(mConnectivityReceiver);
        return true;
    }
}

0 个答案:

没有答案