Search code examples
androiddevicetelephonymanager

android tablet has no phone and code gives error when checking


I have an app that works fine on a android phone , but when I try to run it on the Nexus7 which has no phone the code fails with a force stop at the location indicated. What is the solution? How do I check to see if the feature is there and what should I do to solve this?

  ConnectivityManager connMgr = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
  NetworkInfo networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 
  boolean isWifiConn = networkInfo.isConnected();
  printi("oopsA",6);
  networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
  printi("oopsB",6);
  boolean isMobileConn = networkInfo.isConnected();  //<<<<FAILS HERE ON NEXUS 7

Solution

  • Your networkInfo is probably null. You have to test that before. This means you can't access to this type of connectivityManager.

    Try this:

    networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
    
    boolean isMobileConn = false;
    if(networkInfo != null)
        isMobileConn = networkInfo.isConnected();