Android wifi开启扫描连接

权限

        1.打开wifi权限
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
        <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
        2.扫描wifi权限
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

1.开关按钮UI(switch_bluetooth

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="@dimen/item_hight"
    android:gravity="center_vertical"
    android:orientation="horizontal">

//开关按钮
    <Switch
        android:track="@drawable/switch_selector"
        android:thumb="@drawable/selector_thumb_check"
        android:id="@+id/swtich"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />


</LinearLayout>

2.wifi utils(WifiUtil

public class WifiUtil {

    private final WifiManager mWifiManager;
    private final WifiInfo mWifiInfo;
    private static WifiUtil wifiUtil;
    private List<WifiConfiguration> mWifiConfiguration;
    public Context mcontext;
    private final ConnectivityManager mConnectivityManager;
    public static final int INVALID_NET_ID = -1;
    private static final Pattern HEX_PATTERN = Pattern.compile("^[0-9A-F]+$");

    private WifiUtil(Context context) {
        mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
        mWifiInfo = mWifiManager.getConnectionInfo();
        mcontext = context;
        mConnectivityManager = (ConnectivityManager) context.getSystemService(
                Context.CONNECTIVITY_SERVICE);
    }

    public static WifiUtil getInstance(Context context) {
        if (wifiUtil == null) {
            wifiUtil = new WifiUtil(context);
        }
        return wifiUtil;
    }

    //open wifi
    public void openWiFi() {
        if (!isWifiEnable() && null != mWifiManager) {
            mWifiManager.setWifiEnabled(true);
        }
    }

    //close wifi
    public void closeWiFi() {
        if (isWifiEnable() && null != mWifiManager) {
            mWifiManager.setWifiEnabled(false);
        }
    }

    public boolean isWifiEnable() {
        return mWifiManager.isWifiEnabled();
    }

    @SuppressLint("MissingPermission")
    public List<WifiConfiguration> getLocalWifi() {
        mWifiConfiguration = mWifiManager.getConfiguredNetworks();
        return mWifiConfiguration;
    }

    //connect local wifi
    public void connectConfiguration(WifiConfiguration wifiConfiguration) {
        mWifiManager.enableNetwork(wifiConfiguration.networkId, true);
    }

    public void startScan() {
        if (null != mWifiManager) {
            mWifiManager.startScan();
        }
    }

    public List<ScanResult> getScanResults() {
        if (null != mWifiManager) {
            return mWifiManager.getScanResults();
        }
        return null;
    }

    //wifihot  isopen
    public boolean isApOn() {
        WifiManager wifimanager = (WifiManager) mcontext.getSystemService(mcontext.WIFI_SERVICE);
        try {
            Method method = wifimanager.getClass().getDeclaredMethod("isWifiApEnabled");
            method.setAccessible(true);
            return (Boolean) method.invoke(wifimanager);
        } catch (Throwable ignored) {
        }
        return false;
    }

}

3.开关按钮java(WifiSwitchView

public class WifiSwitchView extends LinearLayout {

    private final Switch swtich;
    public WifiSwitchView(Context paramContext, AttributeSet paramAttributeSet) {
        super(paramContext, paramAttributeSet);
        View view = View.inflate(paramContext, R.layout.swit
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值