android平板电脑没有手机,检查时代码会出错

android平板电脑没有手机,检查时代码会出错,android,device,telephonymanager,Android,Device,Telephonymanager,我有一个在android手机上运行良好的应用程序,但当我尝试在没有手机的Nexus7上运行它时,代码失败,在指定位置强制停止。解决办法是什么?如何检查功能是否存在,以及如何解决此问题 ConnectivityManager connMgr = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connMgr.getNetworkInfo(Connec

我有一个在android手机上运行良好的应用程序,但当我尝试在没有手机的Nexus7上运行它时,代码失败,在指定位置强制停止。解决办法是什么?如何检查功能是否存在,以及如何解决此问题

  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
ConnectivityManager connMgr=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_服务);
NetworkInfo NetworkInfo=connMgr.getNetworkInfo(ConnectivityManager.TYPE\u WIFI);
布尔值isWifiConn=networkInfo.isConnected();
printi(“oopsA”,6);
networkInfo=connMgr.getNetworkInfo(ConnectivityManager.TYPE\u MOBILE);
printi(“oopsB”,6);

布尔值isMobileConn=networkInfo.isConnected()// 检查AndroidManifest.xml中的权限

 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
 <user-permission android:name="android.permission.ACCESS_WIFI_STATE" />

您的网络信息可能为空。你必须先测试一下。这意味着您无法访问此类型的ConnectionManager

试试这个:

networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

boolean isMobileConn = false;
if(networkInfo != null)
    isMobileConn = networkInfo.isConnected();  

更正代码如下:

IsAPhone=0;
try{
    boolean isMobileConn = false;
    if(networkInfo != null){ isMobileConn = networkInfo.isConnected();IsAPhone=1;}  
   }
catch (Exception e) {}

我在摩托罗拉Xoom上也遇到了同样的问题,因为它不支持ConnectivityManager.TYPE_MOBILE的连接

以下代码对我来说运行良好:

ConnectivityManager connMngr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
try {
    return connMngr.getActiveNetworkInfo().isConnected();
}
catch (NullPointerException npe) {
    return false;
}

在这里粘贴日志将帮助我们快速解决您的问题。“我有一个在android手机上运行良好的应用程序”。这不能归因于权限