Android 使用NetworkInfo程序时始终报告网络不可用

Android 使用NetworkInfo程序时始终报告网络不可用,android,Android,我写了一个程序来检查网络是否可用。以下是我的简单代码: public boolean isNetworkAvailable() { Context context = getApplicationContext(); ConnectivityManager connectivity=ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivit

我写了一个程序来检查网络是否可用。以下是我的简单代码:

     public boolean isNetworkAvailable() {
   Context context = getApplicationContext();
      ConnectivityManager connectivity=ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
   if (connectivity == null) {
  boitealerte(this.getString(R.string.alert),"getSystemService rend null");
   } else {
  NetworkInfo[] info = connectivity.getAllNetworkInfo();
  if (info != null) {
     for (int i = 0; i < info.length; i++) {
        if (info[i].getState() == NetworkInfo.State.CONNECTED) {
           return true;
          }
       }
    }
 }
   return false;
   }
public boolean isNetworkAvailable(){
Context=getApplicationContext();
ConnectivityManager connectivity=ConnectivityManager)context.getSystemService(context.connectivity\u SERVICE);
if(连接性==null){
样板文件(this.getString(R.string.alert),“getSystemService rend null”);
}否则{
NetworkInfo[]info=connectivity.getAllNetworkInfo();
如果(信息!=null){
对于(int i=0;i

我在我的Android手机上运行它,它总是返回false,但网络可用,我可以打电话。

状态NetworkInfo.state.CONNECTED告诉您是否有数据连接(通过wifi或手机)。而不是“通话”电话连接。

状态NetworkInfo.state.CONNECTED告诉您是否有数据连接(通过wifi或移动。不是“通话”电话连接。

我想知道“移动网络”是否可用(即我们的服务范围或覆盖范围)。这是否可能通过此程序实现?我还尝试了此代码“code”最终连接管理器connMgr=(连接管理器)活动。getSystemService(Context.CONNECTIVITY\u服务);final android.net.NetworkInfo mobile=connMgr.getNetworkInfo(ConnectivityManager.TYPE_mobile);如果(mobile.isAvailable()){//执行其他操作。}它不起作用,则mobile.isAvailable()始终返回false。ConnectivityManager仅处理数据连接。有关电话信号的详细信息,请参阅本教程:这很有帮助,但有时网络变得不可用,甚至信号强度高达70%。我要检测的是服务何时启动(移动网络)不可用,在只有紧急呼叫可用且手机左上角有一个黄色标志的情况下。我想知道“移动网络”是否可用(即我们的服务范围或覆盖范围)。是否可以使用此程序我也尝试了此代码“code”最终连接管理器connMgr=(ConnectivityManager)activity.getSystemService(Context.CONNECTIVITY_SERVICE);final android.net.NetworkInfo mobile=connMgr.getNetworkInfo(ConnectivityManager.TYPE_mobile);if(mobile.isAvailable()){//执行其他操作。}如果不工作,mobile.isAvailable()始终返回false。ConnectivityManager仅处理数据连接。有关电话信号的详细信息,请参阅本教程:这很有帮助,但有时网络变得不可用,甚至信号强度高达70%。我要检测的是服务何时启动(移动网络)不可用,只有紧急呼叫可用,并且手机左上角有一个黄色标志。