android

android kotlin获取prop

文章目录[隐藏]

注意:有很多系统prop获取不到,只有少数能获取到

方法一:

import java.io.BufferedReader

fun getSystemProperty(propName: String): String? {
    return try {
        val process = ProcessBuilder().command("/system/bin/getprop", propName).start()
        process.inputStream.bufferedReader().use(BufferedReader::readText).trim()
    } catch (e: Exception) {
        e.printStackTrace()
        null
    }
}

使用示例
val model = getSystemProperty("ro.product.model")
println("Model: $model")

方法二:

import java.io.BufferedReader

fun getSystemProperty(key: String): String? {
    var value: String? = null
    try {
        val process = Runtime.getRuntime().exec("getprop $key")
        value = process.inputStream.bufferedReader().use(BufferedReader::readText).trim()
        // 确保读取输出流后关闭
        process.destroy()
    } catch (e: IOException) {
        e.printStackTrace()
    }
    return value
}

// 使用示例
val osVersion = getSystemProperty("ro.build.version.release")
println("Android OS Version: $osVersion")

方法三:

object SystemProperties {
    fun get(key: String): String? {
        return try {
            Log.i("try","try")
            val systemPropertiesClass = Class.forName("android.os.SystemProperties")
            val getMethod = systemPropertiesClass.getMethod("get", String::class.java)
            getMethod.invoke(systemPropertiesClass, key) as String?

        } catch (e: Exception) {
            Log.i("null","null")


            null
        }
    }
}

使用示例:
val guid = SystemProperties.get("persist.adb.wifi.guid")

留言

您的邮箱地址不会被公开。 必填项已用 * 标注

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。
转载请注明来源:android kotlin获取prop - 多知在线