【问题标题】:How To Check if WiFi Enabled On Phone如何检查手机上是否启用了 WiFi
【发布时间】:2015-04-30 02:15:30
【问题描述】:

我正在尝试使用 java 和 xml 开发一个 android 应用程序,我想要一些关于如何确定是否在应用程序打开的手机上启用了 wifi 的指导。任何帮助,将不胜感激。我尝试过使用这些方法,但它们都无法检测到我的 wifi 端口是否正确打开或关闭。恐怕这些方法已经过时了。有人有最新的方法吗?

//determine if wifi is enabled
    //1st try
    wifi =Settings.Secure.getInt(cr, Settings.Secure.WIFI_ON);

    //second try
    wifi=Settings.Global.getInt(cr, Settings.Global.WIFI_ON, 0);

    //3rd try
    WifiManager wifi = (WifiManager)getSystemService(Context.WIFI_SERVICE);
    if (wifi.isWifiEnabled()){
        //wifi is enabled
        wifiInt=1;
    }
    else
        wifiInt=0;

【问题讨论】:

标签: java android wifi isenabled


【解决方案1】:

可以通过获取WiFi系统服务的实例来检查WiFi的状态,如下所示:

WifiManager wifi = (WifiManager)getSystemService(Context.WIFI_SERVICE);

由此,isWifiEnabled() 方法可用于确定是否启用了 WiFi。如下:

WifiManager wifi = (WifiManager)getSystemService(Context.WIFI_SERVICE);
if (wifi.isWifiEnabled()){
    //TODO: Code to execute if wifi is enabled.
}

【讨论】:

  • 为避免内存泄漏,请使用getApplicationContext().getSystemService(WIFI_SERVICE);
【解决方案2】:

你可以通过这种方式查看 WiFi 和移动数据。

ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
NetworkInfo mData = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

if(mWifi.isConnected()||mData.isConnected()){
    //Do something when data is available
}

检查任何活动的网络连接:

private boolean isNetworkAvailable() {

        //Call this method to check network connection.

        ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
        return activeNetworkInfo != null && activeNetworkInfo.isConnected();

    }

【讨论】:

    【解决方案3】:

    您也可以尝试获取 wifi connected wifi name

    WifiManager wifiManager = (WifiManager)HomeScreen.this.getSystemService(Context.WIFI_SERVICE);
                if(wifiManager != null) 
                {
                    if(wifiManager.isWifiEnabled())
                    {
                        WifiInfo connectedWifiInfo = wifiManager.getConnectionInfo();
                        if(connectedWifiInfo != null)
                        {
                            if(connectedWifiInfo.getBSSID() != null)
                            {   
                                // connected
                            }
                            else
                            {
                                // not connected
                            }
                        }
                        else
                        {
                            // not connected
                        }
                    }
                    else
                    {
                        // not connected
                    }
                }
    

    【讨论】:

      猜你喜欢
      • 2022-10-14
      • 1970-01-01
      • 2013-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多