繁体   English   中英

如何显示未在Android中连接的互联网

[英]How to show internet not connected in android

我需要帮助。 我希望举杯以显示我的应用程序中的Internet状态。 它适用于wifi和移动数据包(Mobile Internet)。 但是,当Internet完全断开连接时,它什么也没显示。 我不知道该怎么做。 这是我的代码

public class ConnectivityReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    Log.d("myapp", "action: " + intent.getAction());
    ConnectivityManager cm =
            (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);

    NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
    boolean isConnected = activeNetwork != null &&
                          activeNetwork.isConnectedOrConnecting();

     if(isConnected)
     {
     if(activeNetwork.getType() == ConnectivityManager.TYPE_WIFI)
     {
         Toast toast = Toast.makeText(context, "Connected to wifi", Toast.LENGTH_LONG);
         toast.show();
     }
     else if(activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE)
     {
         Toast toast = Toast.makeText(context, "Connected to Mobile Data Pakage", Toast.LENGTH_LONG);
         toast.show();

     }
     else 
      {
         Toast toast = Toast.makeText(context, "Not Connected", Toast.LENGTH_LONG);
         toast.show();

      }

也可以尝试这样做,但是编译器显示错误。 请帮助我。 提前致谢。

 else if(activeNetwork.getType() == ConnectivityManager.EXTRA_NO_CONNECTIVITY)
      {
                                                                                  Toast toast = Toast.makeText(context, "Not Connected", Toast.LENGTH_LONG);
         toast.show();

宣言

 <receiver android:name="com.networkstatechange.ConnectivityReceiver" >
        <intent-filter>
            <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
        </intent-filter>
    </receiver>

公共类ConnectionDetector {

private Context _context;

public ConnectionDetector(Context context){
    this._context = context;
}

public boolean isConnectingToInternet(){
    ConnectivityManager connectivity = (ConnectivityManager) _context.getSystemService(Context.CONNECTIVITY_SERVICE);
      if (connectivity != null) 
      {
          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;
}

}

创建这个课程

并在接收器上使用isconnecting to internet方法接收它应该可以正常工作

愉快地编码:)

使用正确的缩进,您将看到仅if (isConnected)输入块时才显示“未连接”吐司。 用这种方式重写:

 if(isConnected)
 {
   if(activeNetwork.getType() == ConnectivityManager.TYPE_WIFI)
   {
       Toast toast = Toast.makeText(context, "Connected to wifi", Toast.LENGTH_LONG);
       toast.show();
   }
   else if(activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE)
   {
       Toast toast = Toast.makeText(context, "Connected to Mobile Data Pakage", Toast.LENGTH_LONG);
       toast.show();

   }
 }
 else 
  {
     Toast toast = Toast.makeText(context, "Not Connected", Toast.LENGTH_LONG);
     toast.show();

  }
 }

尝试这个

public static boolean checkConn(Context ctx) {
       ConnectivityManager conMgr = (ConnectivityManager) ctx.getSystemService(Context.CONNECTIVITY_SERVICE);
       NetworkInfo i = conMgr.getActiveNetworkInfo();
       if (i == null)
        return false;
        if (!i.isConnected())
        return false;
        if (!i.isAvailable())
        return false;
        return true;        
    }

也使用..

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM