From 84448fe8f7eae135d455099b311b2338dfa11bca Mon Sep 17 00:00:00 2001 From: xsean Date: Fri, 9 Jan 2026 11:14:36 +0800 Subject: [PATCH 1/2] network Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_WIFI_STATE --- .../main/java/com/xyzshell/andinfo/libs/NetworkInfo.kt | 4 +++- myphoneinfo/src/main/AndroidManifest.xml | 10 +++++++++- .../main/java/com/xyzshell/myphoneinfo/MainActivity.kt | 3 ++- .../myphoneinfo/dashboard/DashboardFragment.kt | 4 ++++ 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/myphoneinfo/andinfo/src/main/java/com/xyzshell/andinfo/libs/NetworkInfo.kt b/myphoneinfo/andinfo/src/main/java/com/xyzshell/andinfo/libs/NetworkInfo.kt index 757063e..704d5a9 100644 --- a/myphoneinfo/andinfo/src/main/java/com/xyzshell/andinfo/libs/NetworkInfo.kt +++ b/myphoneinfo/andinfo/src/main/java/com/xyzshell/andinfo/libs/NetworkInfo.kt @@ -9,6 +9,7 @@ import android.net.wifi.WifiManager import android.net.wifi.WifiInfo import android.os.Build import android.telephony.* +import android.util.Log import androidx.annotation.RequiresPermission import androidx.core.app.ActivityCompat import kotlin.text.compareTo @@ -128,6 +129,7 @@ class NetworkInfo(private val context: Context) { // 检查权限 if (!checkWifiPermissions()) { + Log.i("XXXX","没有权限 ACCESS_WIFI_STATE 或 ACCESS_FINE_LOCATION") return null } @@ -429,7 +431,7 @@ class NetworkInfo(private val context: Context) { /** * 检查Wi-Fi相关权限 */ - private fun checkWifiPermissions(): Boolean { + fun checkWifiPermissions(): Boolean { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { return ActivityCompat.checkSelfPermission( context, diff --git a/myphoneinfo/src/main/AndroidManifest.xml b/myphoneinfo/src/main/AndroidManifest.xml index 0e19729..803841c 100644 --- a/myphoneinfo/src/main/AndroidManifest.xml +++ b/myphoneinfo/src/main/AndroidManifest.xml @@ -2,17 +2,25 @@ - + + + + + + + = Build.VERSION_CODES.S) { @@ -92,6 +92,7 @@ fun MainView(name: String, modifier: Modifier = Modifier) { var showBluetoothDialog by remember { mutableStateOf(false) } var showStorageDialog by remember { mutableStateOf(false) } + Column (modifier.fillMaxWidth().verticalScroll(rememberScrollState())){ Box(modifier = Modifier.fillMaxWidth()){ Text(text = name, Modifier.align(Alignment.Center)) diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/DashboardFragment.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/DashboardFragment.kt index 31bd3ed..2f8538d 100644 --- a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/DashboardFragment.kt +++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/DashboardFragment.kt @@ -1,11 +1,15 @@ package com.xyzshell.myphoneinfo.dashboard +import android.Manifest import android.content.Intent import android.os.Bundle +import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.core.app.ActivityCompat import androidx.recyclerview.widget.GridLayoutManager +import com.xyzshell.andinfo.AndInfo import com.xyzshell.myphoneinfo.base.BaseFragment import com.xyzshell.myphoneinfo.databinding.FragmentDashboardBinding import com.xyzshell.myphoneinfo.dialog.DialogAppInstall From f14137d3a0599bf1f0e92b466dffd2955912876b Mon Sep 17 00:00:00 2001 From: xsean Date: Fri, 9 Jan 2026 11:17:23 +0800 Subject: [PATCH 2/2] network Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_WIFI_STATE --- .../com/xyzshell/andinfo/libs/NetworkInfo.kt | 21 ++++++++++++++++++- .../dashboard/DashboardFragment.kt | 1 + 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/myphoneinfo/andinfo/src/main/java/com/xyzshell/andinfo/libs/NetworkInfo.kt b/myphoneinfo/andinfo/src/main/java/com/xyzshell/andinfo/libs/NetworkInfo.kt index 704d5a9..54faed8 100644 --- a/myphoneinfo/andinfo/src/main/java/com/xyzshell/andinfo/libs/NetworkInfo.kt +++ b/myphoneinfo/andinfo/src/main/java/com/xyzshell/andinfo/libs/NetworkInfo.kt @@ -443,17 +443,36 @@ class NetworkInfo(private val context: Context) { Manifest.permission.ACCESS_WIFI_STATE ) == PackageManager.PERMISSION_GRANTED } + /** + * 获取Wi-Fi相关权限列表 + */ + fun getWifiPermissionsList(): List { + val perms = mutableListOf() + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + perms.add(Manifest.permission.ACCESS_FINE_LOCATION) + } else { + perms.add(Manifest.permission.ACCESS_WIFI_STATE) + } + return perms + } /** * 检查电话相关权限 */ - private fun checkPhonePermissions(): Boolean { + fun checkPhonePermissions(): Boolean { return ActivityCompat.checkSelfPermission( context, Manifest.permission.READ_PHONE_STATE ) == PackageManager.PERMISSION_GRANTED } + /** + * 获取电话相关权限列表 + */ + fun getPhonePermissionsList(): List { + return listOf(Manifest.permission.READ_PHONE_STATE) + } + /** * 获取SIM卡状态文本 */ diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/DashboardFragment.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/DashboardFragment.kt index 2f8538d..7d2ef2d 100644 --- a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/DashboardFragment.kt +++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/DashboardFragment.kt @@ -75,6 +75,7 @@ class DashboardFragment : BaseFragment() { } private fun initCpu() { + binding.layoutCpu.run { recyclerCpu.run { adapter = CpuAdapter(requireContext()).apply {