Как управлять ConnectivityReceiver isRegistered - PullRequest
0 голосов
/ 15 февраля 2019

В функции onStop() иногда выдается illegalArgumentException, это говорит о том, что mConnectivityReceiver не зарегистрировано, поэтому я хочу знать, как контролировать, зарегистрировано или нет. Я проверял и искал, но не смогнайти способ справиться с этой проблемой.

@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;
    }
}
...