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