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 - 多知在线