1

今、私はアプリケーションを開発しています。ConnectivManagerを使用して、Androidでインターネット接続を確認しました。Mobile 3g と WIFI を確認しました。WIFI 接続をオフにして、希望どおりに動作することを確認しました。次に、WIFI接続をオンにしましたが、WIFIのすべてのネットワークを切断しました. 今、私はチェックしましたが、WIFIが接続されていることを示していますが、WIFIがオンのときにネットワークがWIFIに接続されているか、WIFIがオンのときにWIFIに接続されていないかを確認したい. コーディングの仕方がわかりません。誰でも必要なコードを手伝ってもらえますか?

前もって感謝します

4

4 に答える 4

1

インターネットがWiFiまたはモバイル経由で接続されているかどうかを確認するには

public static boolean hasInternet(Activity a) {
 boolean hasConnectedWifi = false;
 boolean hasConnectedMobile = false;

 ConnectivityManager cm = (ConnectivityManager) a.getSystemService(Context.CONNECTIVITY_SERVICE);
 NetworkInfo[] netInfo = cm.getAllNetworkInfo();
 for (NetworkInfo ni : netInfo) {
  if (ni.getTypeName().equalsIgnoreCase("wifi"))
   if (ni.isConnected())
    hasConnectedWifi = true;
  if (ni.getTypeName().equalsIgnoreCase("mobile"))
   if (ni.isConnected())
    hasConnectedMobile = true;
 }
 return hasConnectedWifi || hasConnectedMobile;
}
于 2013-04-14T06:14:00.617 に答える
0

ネットワーク接続を確認するには

public class CheckNetwork {


private static final String TAG = CheckNetwork.class.getSimpleName();



public static boolean isInternetAvailable(Context context)
{
    NetworkInfo info = (NetworkInfo) ((ConnectivityManager)
    context.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();

    if (info == null)
    {
         Log.d(TAG,"no internet connection");
         return false;
    }
    else
    {
        if(info.isConnected())
        {
            Log.d(TAG," internet connection available...");
            return true;
        }
        else
        {
            Log.d(TAG," internet connection");
            return true;
        }

    }
}
 }

あなたの活動の中で

      if(Checknetwork.isInternetAvailable(MainActivity.this)
      {
          // do something
      }

マニフェスト ファイルに許可を追加することを忘れないでください

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

これは、モバイル ネットワークまたは Wi-Fi に接続しているかどうかも確認します。

于 2013-04-14T05:59:09.050 に答える