zoukankan      html  css  js  c++  java
  • APK:广播监听wifi的状态

    Android7.0 https://www.cnblogs.com/fengfenghuifei/p/8404743.html 

    一、wifi网卡状态、操作网卡的权限

    1.1、wifi网卡状态
    a.WIFI_STATE_DISABLED:WIFI网卡不可用
    b.WIFI_STATE_DISABLING:WIFI正在关闭
    c.WIFI_STATE_ENABLED:WIFI网卡可用
    d.WIFI_STATE_ENABLING:WIFI网卡正在打开
    e.WIFI_STATE_UNKNOWN:未知网卡状态

    二、代码

     2.1、AndroidManifest.xml

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.gatsby.wifienable">
    
        <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
        <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
        <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    
        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">
            <activity android:name=".MainActivity">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                    <data
                        android:host="akm.app"
                        android:pathPrefix="/openwith"
                        android:scheme="myapp" />
                </intent-filter>
            </activity>
    
            <receiver android:name=".MyBroadcast">
                <intent-filter>
                    <action android:name="android.intent.action.BOOT_COMPLETED" />
                </intent-filter>
                <intent-filter>
                    <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
                    <action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
                    <action android:name="android.net.wifi.STATE_CHANGE" />
                </intent-filter>
            </receiver>
    
        </application>
    
    </manifest>

     2.2、MyBroadcast

    package com.gatsby.wifienable;
    
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import android.net.wifi.WifiManager;
    import android.util.Log;
    
    public class MyBroadcast extends BroadcastReceiver {
    
        Context mContext;
        WifiManager mWifiManager;
    
        @Override
        public void onReceive(Context context, Intent intent) {
            // TODO Auto-generated method stub
            this.mContext = context;
            if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(intent.getAction())) {
                int wifiState = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, 0);
                Log.d("gatsby", "wifiState->" + wifiState);
    
                //wifi 开关
                mWifiManager = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE);
                mWifiManager.setWifiEnabled(false);
    
                switch (wifiState) {
                    case WifiManager.WIFI_STATE_DISABLED:
                        Log.d("gatsby", " WIFI_STATE_DISABLED " + wifiState);
                        break;
                    case WifiManager.WIFI_STATE_DISABLING:
                        Log.d("gatsby", " WIFI_STATE_DISABLING " + wifiState);
                        break;
                    case WifiManager.WIFI_STATE_ENABLED:
                        Log.d("gatsby", " WIFI_STATE_ENABLED " + wifiState);
                        break;
                    case WifiManager.WIFI_STATE_ENABLING:
                        Log.d("gatsby", " WIFI_STATE_ENABLING " + wifiState);
                        break;
                    case WifiManager.WIFI_STATE_UNKNOWN:
                        Log.d("gatsby", " WIFI_STATE_UNKNOWN " + wifiState);
                        break;
                }
            }
        }
    }
  • 相关阅读:
    Wix打包系列(一)如何使用wix制作安装程序
    服务器修改 ssh 22端口
    服务器遭受 ssh 攻击
    angularJS 系列(六)---$emit(), $on(), $broadcast()的使用
    angularJS 系列(五)--controller AS 语法
    模仿 BootstrapValidator 自制 模块化 表单验证
    formidable 模块化开发 代码拆分(解耦) nodejs图片服务器架构
    使用 原生js 制作插件 (javaScript音乐播放器)
    mui.fire() 和 mui.trigger()
    web 前端 常见操作 将时间戳转成日期格式 字符串截取 使用mui制作选项卡
  • 原文地址:https://www.cnblogs.com/crushgirl/p/13181624.html
Copyright © 2011-2022 走看看