【 Android11 无线热点开发 】无线AP开与关、无线AP信息获取

前言


前面四篇文章介绍完了有线网络、无线网络的开发过程,下面介绍下Android 11上网络的终结篇,无线热点的开发流程。


相关文章

1、【 Android11 WiFi开发 一 】WiFi列表获取与展示

2、【 Android11 WiFi开发 二 】WiFi连接、断开

3、【 Android11 WiFi开发 三 】WiFi信息获取与静态IP设置链接描述

4、【 Android11 有线网络开发 】网络信息获取、静态IP设置


说明


首先,梳理下热点功能的流程,打开和关闭热点、查看热点信息。

①、进入页面,判断当前热点开关是否打开?如果未打开进入Step②,否则进入Step⑤或Step⑥。
②、打开开关,选择频率(2.4Ghz或者5Ghz)、加密方式、输入名称和热点密码,进入Step③。
③、创建热点配置,判断当前热点是否使能(外部打开热点),如果未使能,则进入Step④
④、保存创建的AP热点、使能热点,至此开启成功。
⑤、关闭开关,禁用热点。
⑥、点击查看热点信息按钮,获取热点信息,弹窗展示热点信息

无线热点开关流程


实现


无线热点APWiFi一样,通过WifiManager来管理对应的功能。


    private val connectivityManager: ConnectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager

  	private val wifiManager = context.getSystemService(Context.WIFI_SERVICE) as WifiManager
  	

1、无线热点ap使能状态

 	/**
     * 热点是否使能
     */
    fun isWiFiAPEnable():Boolean{
        return wifiManager.wifiApState == WifiManager.WIFI_AP_STATE_ENABLED
    }

2、开启热点


    /**
     * 打开热点AP
     */
    fun openWiFiAP(band:Int, ssid:String, secure: Int, password: String?){
        val config = createAPConfig(band,ssid,secure,password)
        if(isWiFiAPEnable()){
            setWiFiAPEnable(false)
        }
        wifiManager.setSoftApConfiguration(config)
    }


3、创建热点配置

  /**
     * 创建新的AP配置
     */
    private fun createAPConfig(band:Int, ssid:String, security: Int, password: String?):SoftApConfiguration{
        val builder = SoftApConfiguration.Builder()
        builder.setSsid(ssid)
        if(security == SoftApConfiguration.SECURITY_TYPE_WPA2_PSK){
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
                builder.setPassphrase(password,SoftApConfiguration.SECURITY_TYPE_WPA2_PSK)
            }
        }
        builder.setBand(band)
        return builder.build()
    }


4、使能或禁用热点

   /**
     * 设置WiFi热点是否使能
     */
    fun setWiFiAPEnable(on: Boolean) {
        if (on) {
           val callback =  object : ConnectivityManager.OnStartTetheringCallback() {
                override fun onTetheringStarted() { if(App.DEBUG) Log.i(TAG,"onTetheringStarted") }
                override fun onTetheringFailed() { if(App.DEBUG) Log.i(TAG,"onTetheringFailed") }
            }
            connectivityManager.startTethering(ConnectivityManager.TETHERING_WIFI, true, callback, Handler(Looper.getMainLooper()))
        } else {
            connectivityManager.stopTethering(ConnectivityManager.TETHERING_WIFI)
        }
    }


5、获取热点配置

   
    /**
     * 获取热点配置
     */
    fun getWiFiAPConfig():SoftApConfiguration{
       return wifiManager.getSoftApConfiguration()
    }


    /**
     * 获取无线热点信息
     * @see[secure] 热点安全类型
     * @see[hotspotBand] 热点频率2.4Ghz或5Ghz
     */
    private fun getWiFiAPData(){
        WiFiAPManager.getWiFiAPConfig().apply {
            hotspotSSID = if(ssid?.isEmpty() == true) "" else ssid.toString()
            secure = securityType
            hotspotPw = passphrase
            hotspotBand = band
        }
    }


6、设置热点名称

    /**
     * 设置热点名称
     */
     fun setWiFiAPName(name: String) {
        val config: WifiConfiguration? = wifiManager.getWifiApConfiguration()
        config?.SSID = name
        wifiManager.setWifiApConfiguration(config)
    }

结尾

至此,Android11上有关网络部分功能都已介绍完毕。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
ap6275s开发资料.rar是一个压缩文件,其中包含了关于ap6275s芯片的开发资料。ap6275s是一款集成了无线局域网(Wi-Fi)和蓝牙功能的芯片,主要用于物联网设备和智能家居应用。 开发资料.rar文件中可能包括以下内容: 1. 数据手册:详细介绍ap6275s芯片的规格、电性能参数、引脚定义和功能描述等信息,供开发人员了解芯片的基本特性和使用方法。 2. 芯片驱动程序:ap6275s芯片在各种操作系统和开发环境下的设备驱动程序,包括Linux、Android等。这些驱动程序可以帮助开发人员搭建和调试ap6275s芯片的软件环境。 3. 技术参考设计资料:包括硬件电路原理图、PCB布局设计和相关的应用参考资料。开发人员可以根据这些资料进行硬件设计和布线布局,确保ap6275s芯片能够正常工作。 4. 示例代码:提供了一些基于ap6275s芯片的示例代码,可以帮助开发人员快速上手并开发出各种应用。 5.工具软件:针对ap6275s芯片的烧录工具、调试工具和测试工具等。这些工具可以帮助开发人员在开发过程中进行芯片的烧录、调试和测试,提高开发效率。 总之,ap6275s开发资料.rar包含了一系列关于ap6275s芯片的开发资料,适用于开发人员进行ap6275s芯片的软件和硬件开发工作。开发人员可以通过这些资料学习和了解ap6275s芯片的使用方法,快速开发出各种物联网设备和智能家居应用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值