android 9.0获取wifi名称,Android8.0 9.0 10.0获取wifi名字问题

2023-10-28 14:59

本文主要是介绍android 9.0获取wifi名称,Android8.0 9.0 10.0获取wifi名字问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、添加权限

二、申请权限

申请权限框架较多,本人使用的 RxPermissions

android8.0以上需要开启位置信息,如图

49ff2d6d496749d3c27eb881fbff1a06.png

android10.0截图

android9.0以上需要申请定位权限

android10.0需要申请新添加的隐私权限ACCESS_FINE_LOCATION详情见android官方10.0重大隐私权变更,如果还需要后台获取或者使用wifi api则还需要申请后台使用定位权限ACCESS_BACKGROUND_LOCATION

三、申请权限代码示例

/**

* 判断是否获取到了定位权限,获取wifi信息需要

*/

private fun rxPermissions() {

//获取必要权限

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {

RxPermissionsUtlis(

this,

RxPermissions(this),

getString(R.string.permissions14),

object : RxPermissionsUtlis.PermissionCallbacks {

override fun onPermissionsGranted() {

if (!LocationUtils.isGpsEnabled()) {

LogUtils.e(TAG, "没有开启GPS定位")

openGpsSettings()

} else {

//获取连接的wifi名称

getConnectWifiSsid()

}

}

override fun onPermissionsDenied() {

finish()

}

},

Manifest.permission.ACCESS_BACKGROUND_LOCATION,

Manifest.permission.ACCESS_FINE_LOCATION,

Manifest.permission.ACCESS_COARSE_LOCATION

)

} else {

RxPermissionsUtlis(

this,

RxPermissions(this),

getString(R.string.permissions1),

object : RxPermissionsUtlis.PermissionCallbacks {

override fun onPermissionsGranted() {

//先判断Android系统,9.0以上除了需要定位权限还需要开启GPS才能获取wifi名字

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {

if (!LocationUtils.isGpsEnabled()) {

LogUtils.e(TAG, "没有开启GPS定位")

openGpsSettings()

}

}

}

override fun onPermissionsDenied() {

finish()

}

},

Manifest.permission.ACCESS_COARSE_LOCATION

)

}

}

/**

* 获取连接wifi的ssid

*

* @return

*/

private fun getConnectWifiSsid(): String {

val wifiManager =

applicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager

val wifiInfo = wifiManager.connectionInfo

LogUtils.e(TAG, "wifiInfo==$wifiInfo")

LogUtils.e(TAG, "SSID===${wifiInfo.ssid}")

return wifiInfo.ssid

}

/**

* 打开Gps设置界面

*/

private fun openGpsSettings() {

val intent = Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS)

startActivity(intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK))

}

这篇关于android 9.0获取wifi名称,Android8.0 9.0 10.0获取wifi名字问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/294000

相关文章

解决IDEA报错:编码GBK的不可映射字符问题

《解决IDEA报错:编码GBK的不可映射字符问题》:本文主要介绍解决IDEA报错:编码GBK的不可映射字符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录IDEA报错:编码GBK的不可映射字符终端软件问题描述原因分析解决方案方法1:将命令改为方法2:右下jav

MyBatis模糊查询报错:ParserException: not supported.pos 问题解决

《MyBatis模糊查询报错:ParserException:notsupported.pos问题解决》本文主要介绍了MyBatis模糊查询报错:ParserException:notsuppo... 目录问题描述问题根源错误SQL解析逻辑深层原因分析三种解决方案方案一:使用CONCAT函数(推荐)方案二:

Redis 热 key 和大 key 问题小结

《Redis热key和大key问题小结》:本文主要介绍Redis热key和大key问题小结,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、什么是 Redis 热 key?热 key(Hot Key)定义: 热 key 常见表现:热 key 的风险:二、

SpringBoot整合mybatisPlus实现批量插入并获取ID详解

《SpringBoot整合mybatisPlus实现批量插入并获取ID详解》这篇文章主要为大家详细介绍了SpringBoot如何整合mybatisPlus实现批量插入并获取ID,文中的示例代码讲解详细... 目录【1】saveBATch(一万条数据总耗时:2478ms)【2】集合方式foreach(一万条数

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

python获取网页表格的多种方法汇总

《python获取网页表格的多种方法汇总》我们在网页上看到很多的表格,如果要获取里面的数据或者转化成其他格式,就需要将表格获取下来并进行整理,在Python中,获取网页表格的方法有多种,下面就跟随小编... 目录1. 使用Pandas的read_html2. 使用BeautifulSoup和pandas3.

SpringBoot UserAgentUtils获取用户浏览器的用法

《SpringBootUserAgentUtils获取用户浏览器的用法》UserAgentUtils是于处理用户代理(User-Agent)字符串的工具类,一般用于解析和处理浏览器、操作系统以及设备... 目录介绍效果图依赖封装客户端工具封装IP工具实体类获取设备信息入库介绍UserAgentUtils

Android使用ImageView.ScaleType实现图片的缩放与裁剪功能

《Android使用ImageView.ScaleType实现图片的缩放与裁剪功能》ImageView是最常用的控件之一,它用于展示各种类型的图片,为了能够根据需求调整图片的显示效果,Android提... 目录什么是 ImageView.ScaleType?FIT_XYFIT_STARTFIT_CENTE

Spring 中的循环引用问题解决方法

《Spring中的循环引用问题解决方法》:本文主要介绍Spring中的循环引用问题解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录什么是循环引用?循环依赖三级缓存解决循环依赖二级缓存三级缓存本章来聊聊Spring 中的循环引用问题该如何解决。这里聊

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制