1

I have the following code:

 private BroadcastReceiver mConnReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { /* boolean noConnectivity = intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false); String reason = intent.getStringExtra(ConnectivityManager.EXTRA_REASON); boolean isFailover = intent.getBooleanExtra(ConnectivityManager.EXTRA_IS_FAILOVER, false); NetworkInfo currentNetworkInfo = (NetworkInfo) intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO); NetworkInfo otherNetworkInfo = (NetworkInfo) intent.getParcelableExtra(ConnectivityManager.EXTRA_OTHER_NETWORK_INFO); */ // do application-specific task(s) based on the current network state, such // as enabling queuing of HTTP requests when currentNetworkInfo is connected etc. // Toast.makeText(getApplicationContext(), "test", Toast.LENGTH_LONG).show(); // if(!check3G()||!checkWifi()) updateUI(); } }; /* * method to be invoked to register the receiver */ private void registerReceivers() { registerReceiver(mConnReceiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION)); } 

And I register the receiver in the oncreate method like so:

 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_menu); registerReceivers(); /* Code omitted*/ } 

And in ondestroy as

 public void onDestroy(){ unregisterReceiver(mConnReceiver); super.onDestroy(); } 

Now whenever the connection state changes, I want to call updateUI();

But when it does change, the function is called, but the application crashes. I am unsure what I am doing wrong and any suggestions would be helpful.

Thanks

Edit:

LogCat Log:

09-05 04:04:56.968: I/ActivityManager(246): Start proc edu.ucla.pam for activity edu.ucla.pam/.LoginScreenActivity: pid=7158 uid=10008 gids={3003, 3002, 3001, 1015, 1028} 09-05 04:04:57.757: I/ActivityManager(246): Displayed edu.ucla.pam/.LoginScreenActivity: +856ms 09-05 04:05:23.347: I/ActivityManager(246): START {cmp=edu.ucla.pam/.MenuMainActivity (has extras) u=0} from pid 7158 09-05 04:05:23.574: I/ActivityManager(246): Displayed edu.ucla.pam/.MenuMainActivity: +173ms 09-05 04:05:37.386: E/AndroidRuntime(7158): java.lang.RuntimeException: Unable to instantiate receiver edu.ucla.pam.receiver.ConnectivityReceiver: java.lang.ClassNotFoundException: edu.ucla.pam.receiver.ConnectivityReceiver 09-05 04:05:37.386: E/AndroidRuntime(7158): Caused by: java.lang.ClassNotFoundException: edu.ucla.pam.receiver.ConnectivityReceiver 09-05 04:05:37.398: W/ActivityManager(246): Force finishing activity edu.ucla.pam/.MenuMainActivity 09-05 04:05:37.925: W/ActivityManager(246): Activity pause timeout for ActivityRecord{4225a750 edu.ucla.pam/.MenuMainActivity} 09-05 04:05:39.296: I/ActivityManager(246): Process edu.ucla.pam (pid 7158) has died. 09-05 04:05:39.296: I/WindowState(246): WIN DEATH: Window{4221fec0 edu.ucla.pam/edu.ucla.pam.LoginScreenActivity paused=false} 09-05 04:05:39.300: I/WindowState(246): WIN DEATH: Window{4250fe58 edu.ucla.pam/edu.ucla.pam.MenuMainActivity paused=false} 09-05 04:05:39.304: W/ActivityManager(246): Force removing ActivityRecord{42153568 edu.ucla.pam/.LoginScreenActivity}: app died, no saved state 09-05 04:05:56.227: I/ActivityManager(246): Start proc edu.ucla.pam for broadcast edu.ucla.pam/.receiver.ConnectivityReceiver: pid=7325 uid=10008 gids={3003, 3002, 3001, 1015, 1028} 09-05 04:05:56.398: E/AndroidRuntime(7325): java.lang.RuntimeException: Unable to instantiate receiver edu.ucla.pam.receiver.ConnectivityReceiver: java.lang.ClassNotFoundException: edu.ucla.pam.receiver.ConnectivityReceiver 09-05 04:05:56.398: E/AndroidRuntime(7325): Caused by: java.lang.ClassNotFoundException: edu.ucla.pam.receiver.ConnectivityReceiver 09-05 04:05:56.398: W/ActivityManager(246): Process edu.ucla.pam has crashed too many times: killing! 09-05 04:05:56.398: I/ActivityManager(246): Killing proc 7325:edu.ucla.pam/u0a8: crash 
4
  • Please post the stacktrace and the contents of your updateUI method. Commented Sep 5, 2012 at 17:26
  • I do not think the problem is in the updateUI method because it crashes on my test Toast as well. Nevertheless - I will post the code and the stacktrace. Commented Sep 5, 2012 at 17:31
  • 1
    @AviC : where is ConnectivityReceiver.class ?Make sure you have register it in manifest correctly or added in right package Commented Sep 5, 2012 at 17:57
  • I thought that if you programatically added the broadcastreceiver like here stackoverflow.com/questions/4805269/… you did not have to add it in the manifest. It could be the issue - could you please help me out with the code change I will have to do to make sure this works as intended? Commented Sep 5, 2012 at 18:53

1 Answer 1

1

It turns out the issue was some legacy code. There was an additional ConnectivityReceiver registered in the Manifest that was never instantiated that was caused the application to crash.

I will post the legacy code shortly.

Thanks for all your help.

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.