Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Connectivity Manager unregisterNetworkCallBack already unregistered

Tags:

java

android

In my android application I am unregistering a networkCallback onPause of an activity. There are times where I can get the error, Caused by

java.lang.IllegalArgumentException
NetworkCallback was already unregistered

Is there a way to check if the network callback already was unregistered or to prevent "double" unregistering? Or registered so we known when to call unregister?

if (mNetworkCallback != null && mConnectivityManager != null) {
           try{
               mConnectivityManager.unregisterNetworkCallback(mNetworkCallback);

           }
           catch (Exception e){
               Log.d(TAG, "unregister failed");
           }
        }
like image 813
Jae Yang Avatar asked Dec 26 '18 18:12

Jae Yang


1 Answers

There is no method to check if the network is already unregistered.

  1. Try to put your code in:
try{
    //your code
} 
catch (IllegalArgumentException exception){
    //network is already unregistered
}
  1. Or simply you can handle it with boolean flag yourself.
like image 179
Ehsan Mashhadi Avatar answered Oct 30 '22 07:10

Ehsan Mashhadi