【问题标题】:detect wifi status automatically in Android在Android中自动检测wifi状态
【发布时间】:2014-11-10 09:06:42
【问题描述】:

在我的应用程序中,我必须在没有用户操作的情况下自动知道用户是否连接到 Wifi 的 wifi 状态。我还想检测用户何时不使用应用程序。有什么办法吗?我是安卓新手。

【问题讨论】:

标签: android android-wifi


【解决方案1】:

最适合我的:

AndroidManifest

<receiver android:name="com.AEDesign.communication.WifiReceiver" >
   <intent-filter android:priority="100">
      <action android:name="android.net.wifi.STATE_CHANGE" />
   </intent-filter>
</receiver>

BroadcastReceiver 类

public class WifiReceiver extends BroadcastReceiver {

   @Override
   public void onReceive(Context context, Intent intent) {

      NetworkInfo info = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
      if(info != null) {
         if(info.isConnected()) {
            // Do your work. 

            // e.g. To check the Network Name or other info:
            WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
            WifiInfo wifiInfo = wifiManager.getConnectionInfo();
            String ssid = wifiInfo.getSSID();
         }
      }
   }
}

接收时会自动调用。

【讨论】:

    【解决方案2】:
    WifiManager wifi = (WifiManager)getSystemService(Context.WIFI_SERVICE);
    if (wifi.isWifiEnabled()){
    //wifi is enabled
    }
    

    详情请查看here

    ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo networkInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
    
    if (networkInfo.isConnected()) {
        // Do whatever
    }
    

    【讨论】:

      猜你喜欢
      • 2012-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-20
      • 2015-02-17
      相关资源
      最近更新 更多