在启动wifi时连接到互联网

时间:2015-12-07 22:04:20

标签: android

我希望在用户打开WiFi时更新我的​​设计应用程序或者我想要通知用户在启动或打开WiFi设备时有更新。请指导我做什么。

1 个答案:

答案 0 :(得分:1)

你需要一个正在侦听WIFI_STATE_CHANGED的intent-filter的BroadcastReceiver:

public class NetworkChangeReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(final Context context, final Intent intent) {
        if(isWifiConnected(context)){
            //Do something now that wifi is connected!
        }
    }

public static boolean isWifiConnected(Context context){
    ConnectivityManager cm = (ConnectivityManager) context
            .getSystemService(Context.CONNECTIVITY_SERVICE);

    NetworkInfo info = cm.getActiveNetworkInfo();
    if(info != null){
        if(info.getType() == ConnectivityManager.TYPE_WIFI){
            return true;
        }
    }

    return false;
}

这是一个简单的接收器,只检测网络状态的变化并检查wifi是否已连接。

您还需要在AndroidManifest.xml文件中注册接收器,如下所示:

<receiver
    android:name="com.yourcompany.package.NetworkChangeReceiver"
    android:enabled="true" >
    <intent-filter>
        <action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
    </intent-filter>
</receiver>

更换名称字段中的正确包装位置

注意:当状态发生变化时,Android操作系统确实会通知应用程序..因此,如果您需要进行网络操作,则只要可以访问wifi连接(或者数据),但是在特别需要知道WIFI何时连接的情况下,这个接收器可以帮助你做到这一点。