安卓12 没有wifi信息的问题

This commit is contained in:
xsean 2026-01-09 12:03:55 +08:00
parent f14137d3a0
commit 49d4762fda
2 changed files with 19 additions and 8 deletions

View File

@ -12,6 +12,7 @@ import android.telephony.*
import android.util.Log import android.util.Log
import androidx.annotation.RequiresPermission import androidx.annotation.RequiresPermission
import androidx.core.app.ActivityCompat import androidx.core.app.ActivityCompat
import java.util.Arrays
import kotlin.text.compareTo import kotlin.text.compareTo
/** /**
@ -133,11 +134,18 @@ class NetworkInfo(private val context: Context) {
return null return null
} }
val cm = context
.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
val activeNetwork = cm.activeNetwork ?: return createEmptyWifiDetails()
val caps = cm.getNetworkCapabilities(activeNetwork) ?: return createEmptyWifiDetails()
val connected = caps.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)
if (!connected) return createEmptyWifiDetails()
return try { return try {
val wifiInfo = wifiManager.connectionInfo ?: return createEmptyWifiDetails() val wifiInfo = wifiManager.connectionInfo ?: return createEmptyWifiDetails()
val connected = wifiInfo.networkId != -1
if (!connected) return createEmptyWifiDetails()
val dhcp = wifiManager.dhcpInfo val dhcp = wifiManager.dhcpInfo
val ssid = wifiInfo.ssid?.removePrefix("\"")?.removeSuffix("\"") val ssid = wifiInfo.ssid?.removePrefix("\"")?.removeSuffix("\"")
@ -246,6 +254,7 @@ class NetworkInfo(private val context: Context) {
@RequiresPermission(Manifest.permission.READ_PHONE_STATE) @RequiresPermission(Manifest.permission.READ_PHONE_STATE)
fun getMobileDetails(): MobileDetails? { fun getMobileDetails(): MobileDetails? {
if (!checkPhonePermissions()) { if (!checkPhonePermissions()) {
Log.i("XXXX","没有权限 READ_PHONE_STATE")
return null return null
} }
@ -346,6 +355,7 @@ class NetworkInfo(private val context: Context) {
simInfos = sims simInfos = sims
) )
} catch (e: Exception) { } catch (e: Exception) {
Log.i("XXXX","获取移动数据详情异常: ${e.message}")
null null
} }
} }
@ -446,14 +456,14 @@ class NetworkInfo(private val context: Context) {
/** /**
* 获取Wi-Fi相关权限列表 * 获取Wi-Fi相关权限列表
*/ */
fun getWifiPermissionsList(): List<String> { fun getWifiPermissionsList(): Array<String> {
val perms = mutableListOf<String>() val perms = mutableListOf<String>()
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
perms.add(Manifest.permission.ACCESS_FINE_LOCATION) perms.add(Manifest.permission.ACCESS_FINE_LOCATION)
} else { } else {
perms.add(Manifest.permission.ACCESS_WIFI_STATE) perms.add(Manifest.permission.ACCESS_WIFI_STATE)
} }
return perms return perms.toTypedArray()
} }
/** /**
@ -469,8 +479,8 @@ class NetworkInfo(private val context: Context) {
/** /**
* 获取电话相关权限列表 * 获取电话相关权限列表
*/ */
fun getPhonePermissionsList(): List<String> { fun getPhonePermissionsList(): Array<String> {
return listOf(Manifest.permission.READ_PHONE_STATE) return arrayOf(Manifest.permission.READ_PHONE_STATE)
} }
/** /**

View File

@ -7,6 +7,7 @@ import android.util.Log
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.annotation.RequiresPermission
import androidx.core.app.ActivityCompat import androidx.core.app.ActivityCompat
import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
import com.xyzshell.andinfo.AndInfo import com.xyzshell.andinfo.AndInfo
@ -74,8 +75,8 @@ class DashboardFragment : BaseFragment<FragmentDashboardBinding>() {
} }
@RequiresPermission(Manifest.permission.READ_PHONE_STATE)
private fun initCpu() { private fun initCpu() {
binding.layoutCpu.run { binding.layoutCpu.run {
recyclerCpu.run { recyclerCpu.run {
adapter = CpuAdapter(requireContext()).apply { adapter = CpuAdapter(requireContext()).apply {