国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Android 獲取設(shè)備的CPU型號(hào)和設(shè)備型號(hào)

這篇具有很好參考價(jià)值的文章主要介紹了Android 獲取設(shè)備的CPU型號(hào)和設(shè)備型號(hào)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

原文: Android 獲取設(shè)備的CPU型號(hào)和設(shè)備型號(hào)-Stars-One的雜貨小窩

之前整的項(xiàng)目的總結(jié)信息,可能不太全,湊合著用吧,代碼在最下面一節(jié)

CPU型號(hào)數(shù)據(jù)

  • 華為: ro.mediatek.platform
  • vivo: ro.vivo.product.platform
  • oppo: ro.board.platform 或 ro.product.board
  • 三星: ro.board.platform
  • 小米: ro.soc.model

小米:

GKI 2.0 之前,/proc/cpuinfo 中包含 Hardware 相關(guān)信息,應(yīng)用可以從中讀取 cpu 型號(hào)信息;
GKI 2.0 之后,/proc/cpuinfo 中不再包含 Hardware 相關(guān)信息,應(yīng)用無(wú)法從中讀取到 cpu 型號(hào)信息,需要從 android.os.SystemProperties 中讀取 ro.soc.model 屬性信息。參考說(shuō)明:關(guān)于 GKI 內(nèi)核版本說(shuō)明

建議優(yōu)先從 android.os.SystemProperties 中讀取 ro.soc.model 屬性信息,若此屬性信息為空,則再?gòu)?/proc/cpuinfo 中讀取 Hardware 信息即可。

1.查看所有配置信息:
adb shell getprop

2.查看指定配置信息:
adb shell getprop [key]
如:查看設(shè)備型號(hào):adb shell getprop “ro.product.model”

可以通過(guò)adb shell命令來(lái)得到數(shù)據(jù)或者通過(guò)反射

//通過(guò)shell命令
val cmdResult = ShellUtils.execCmd("getprop", false)

//通過(guò)反射
val classType = Class.forName("android.os.SystemProperties")
val method = classType.getDeclaredMethod("get", String::class.java)
val result = method.invoke(classType, "ro.vivo.product.platform") as String //SM6225

設(shè)備型號(hào)

vivo

[ro.vivo.os.build.display.id]: [OriginOS 1.0]
[ro.vivo.os.name]: [Funtouch]
[ro.vivo.os.version]: [12.0]
[ro.vivo.market.name]: [vivo Y32]	

小米

新增ro.product.marketname屬性,值為手機(jī)設(shè)備名(上市機(jī)型名稱);

歷史已發(fā)布手機(jī)上設(shè)備型號(hào)的屬性ro.product.model依然有效,以后新發(fā)布的機(jī)型上不再生效。請(qǐng)開(kāi)發(fā)者及時(shí)適配。

建議應(yīng)用優(yōu)先讀取屬性ro.product.marketname,如果返回值不為空,這個(gè)值就是手機(jī)設(shè)備型號(hào)。如果此屬性返回值為空,則讀取之前的屬性ro.product.model值

public static String getDeviceName() {
    String deviceName = "";
    try {
        Class SystemProperties = Class.forName("android.os.SystemProperties");
        Method get = SystemProperties.getDeclaredMethod("get", String.class, String.class);
        deviceName = (String) get.invoke(SystemProperties, "ro.product.marketname", "");
        if (TextUtils.isEmpty(deviceName)) {
            deviceName = (String) get.invoke(SystemProperties, "ro.product.model", "");
        }
    } catch (InvocationTargetException | NoSuchMethodException | IllegalAccessException | ClassNotFoundException e) {
        e.printStackTrace();
    }
    return deviceName;
}

工具類源碼

點(diǎn)擊展開(kāi)代碼
package com.hlfonts.richway.widget.tool

import android.os.Build
import android.text.TextUtils
import com.blankj.utilcode.util.ShellUtils
import java.util.*

/**
 * 工具類參考 https://blog.csdn.net/convex1009848621/article/details/120767000
 */
object CustomOSUtils {
    /**
     * customOS默認(rèn)值為"",如果識(shí)別出的手機(jī)廠商是預(yù)知的,會(huì)被重新賦值,如果未識(shí)別到該機(jī)型則返回原生安卓信息
     */
    private var customOS: String? = ""

    /**
     * CustomOSVersion默認(rèn)值為"",如果識(shí)別出的手機(jī)廠商是預(yù)知的,會(huì)被重新賦值成對(duì)應(yīng)rom系統(tǒng)的版本號(hào)
     * 如果未識(shí)別到該機(jī)型則返回原生安卓信息
     */
    private var customOSVersion: String? = ""

    /**
     * HarmonyOS 系統(tǒng)輸出的
     * 格式:2.0.0
     */
    private const val KEY_HARMONYOS_VERSION_NAME = "hw_sc.build.platform.version"

    /**
     * EMUI系統(tǒng)輸出的
     * 格式:EmotionUI_8.0.0
     */
    private const val KEY_EMUI_VERSION_NAME = "ro.build.version.emui"

    /**
     * MagicUI系統(tǒng)輸出的
     * 格式:3.1.0
     */
    private const val KEY_MAGICUI_VERSION = "ro.build.version.magic"

    /**
     * MIUI系統(tǒng)輸出的
     * 格式:V12
     */
    private const val KEY_MIUI_VERSION_NAME = "ro.miui.ui.version.name"

    /**
     * OPPO手機(jī)ColorOS系統(tǒng)輸出的
     * 格式:9
     */
    private const val KEY_COLOROS_VERSION_NAME = "ro.build.version.opporom"

    /**
     * VIVO手機(jī)系統(tǒng)輸出的
     * name格式:funtouch
     * version格式: 9
     */
    private const val KEY_VIVO_VERSION_NAME = "ro.vivo.os.name"
    private const val KEY_VIVO_VERSION = "ro.vivo.os.version"

    /**
     * OonPlus手機(jī)系統(tǒng)輸出的
     * 格式:Hydrogen OS 11.0.7.10.KB05
     */
    private const val KEY_ONEPLUS_VERSION_NAME = "ro.rom.version"

    /**
     * 魅族手機(jī)系統(tǒng)輸出的
     */
    private const val KEY_FLYME_VERSION_NAME = "ro.build.display.id"

    /**
     * nubia手機(jī)系統(tǒng)輸出的
     */
    private const val KEY_NUBIA_VERSION_NAME = "ro.build.nubia.rom.name"
    private const val KEY_NUBIA_VERSION_CODE = "ro.build.nubia.rom.code"

    /**
     * 傳入獲取手機(jī)系統(tǒng)屬性的key,可以得到rom系統(tǒng)版本信息
     * @param key
     * @return
     */
    private fun getSystemPropertyValue(key: String): String {
        val cmd = """
                getprop "$key"
            """.trimIndent()
        val cmdResult = ShellUtils.execCmd(cmd, false)
        return cmdResult.successMsg?:""

    }

    /**
     * 判斷是否是華為鴻蒙系統(tǒng),能否識(shí)別榮耀鴻蒙未知
     *
     * @return
     */
    private fun isHarmonyOS(): Boolean {
        val value = getHarmonyOsBrand()
        return TextUtils.isEmpty(value).not()
    }

    private fun getHarmonyOsBrand(): String {
        var result = ""
        kotlin.runCatching {
            val classType = Class.forName("com.huawei.system.BuildEx")
            val getMethod = classType.getMethod("getOsBrand")
            result = getMethod.invoke(classType) as String
        }
        return result
    }


    /**
     * 通過(guò)手機(jī)品牌信息獲取手機(jī)rom系統(tǒng)+系統(tǒng)版本號(hào)
     * @param phoneBrand
     * @return 如 flyme 5.0
     */
    fun getPhoneSystemName(): String {
        if (TextUtils.isEmpty(customOS)) {
            setCustomOSInfo()
        }
        return "$customOS $customOSVersion"
    }

    private val isMagicUI: Boolean = false

    /**
     * 通過(guò)手機(jī)品牌信息獲取手機(jī)rom系統(tǒng)
     * @param phoneBrand
     * @return
     */
    fun getCustomOS(): String? {
        if (TextUtils.isEmpty(customOS)) {
            setCustomOSInfo()
        }
        return customOS
    }

    /**
     * 通過(guò)手機(jī)品牌信息獲取手機(jī)rom系統(tǒng)版本號(hào)
     * @param phoneBrand
     * @return
     */
    fun getCustomOSVersion(): String? {
        if (TextUtils.isEmpty(customOS)) {
            setCustomOSInfo()
        }
        return customOSVersion
    }


    /**
     * 刪除字符串中的空格并全部轉(zhuǎn)成大寫(xiě)
     * @param str
     * @return
     */
    private fun deleteSpaceAndToUpperCase(str: String): String {
        return if (TextUtils.isEmpty(str)) {
            ""
        } else str.replace(" ".toRegex(), "").uppercase(Locale.getDefault())
    }

    private fun setCustomOSInfo() {
        //  示例: xiaomi
        val phoneBrand = Build.BRAND
        try {
            when (deleteSpaceAndToUpperCase(phoneBrand)) {
                "HUAWEI" -> if (isHarmonyOS()) {
                    customOSVersion = getSystemPropertyValue(KEY_HARMONYOS_VERSION_NAME)
                    customOS = "Harmony"
                } else {
                    customOS = "EMUI"
                    customOSVersion = getSystemPropertyValue(KEY_EMUI_VERSION_NAME)
                }
                "HONOR" -> if (isHarmonyOS()) {
                    customOS = "Harmony"
                    if (!TextUtils.isEmpty(getSystemPropertyValue(KEY_HARMONYOS_VERSION_NAME))) {
                        customOSVersion = getSystemPropertyValue(KEY_HARMONYOS_VERSION_NAME)
                    } else {
                        customOSVersion = ""
                    }
                } else if (!TextUtils.isEmpty(getSystemPropertyValue(KEY_MAGICUI_VERSION))) {
                    customOS = "MagicUI"
                    customOSVersion = getSystemPropertyValue(KEY_MAGICUI_VERSION)
                } else {
                    //格式:EmotionUI_8.0.0
                    customOS = "EMUI"
                    customOSVersion = getSystemPropertyValue(KEY_EMUI_VERSION_NAME)
                }
                "XIAOMI", "REDMI" -> {
                    //格式:MIUIV12
                    customOS = "MIUI"
                    customOSVersion = getSystemPropertyValue(KEY_MIUI_VERSION_NAME)
                }
                "REALME", "OPPO" -> {
                    //格式:ColorOSV2.1
                    customOS = "ColorOS"
                    customOSVersion = getSystemPropertyValue(KEY_COLOROS_VERSION_NAME)
                }
                "VIVO" -> {
                    val result = getSystemPropertyValue("ro.vivo.os.build.display.id")
                    if (result.isNotBlank()) {
                        //格式: OriginOS 1.0
                        val arr = result.split(" ")
                        customOS = arr.first()
                        customOSVersion = arr.last()
                    } else {
                        //格式:Funtouch9
                        customOS = "Funtouch"
                        customOSVersion = getSystemPropertyValue(KEY_VIVO_VERSION)
                    }
                }
                "ONEPLUS" -> {
                    //格式:Hydrogen OS 11.0.7.10.KB05
                    customOS = "Hydrogen"
                    customOSVersion = getSystemPropertyValue(KEY_ONEPLUS_VERSION_NAME)
                }
                "MEIZU" -> {
                    //格式:Flyme 6.3.5.1G
                    customOS = "Flyme"
                    customOSVersion = getSystemPropertyValue(KEY_FLYME_VERSION_NAME)
                }
                "NUBIA" -> {
                    //格式:nubiaUIV3.0
                    customOS = getSystemPropertyValue(KEY_NUBIA_VERSION_NAME)
                    customOSVersion = getSystemPropertyValue(KEY_NUBIA_VERSION_CODE)
                }
                else -> {
                    customOS = "Android"
                    customOSVersion = Build.VERSION.RELEASE
                }
            }
        } catch (e: Exception) {
            customOS = "Android"
            customOSVersion = Build.VERSION.RELEASE
        }
    }
}

用法:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-838593.html

CustomOSUtils.getPhoneSystemName()

參考

  • Android利用Java反射獲取用戶手機(jī)的rom定制系統(tǒng)及版本,EMUI,MIUI,ColorOS,FunthouchOS等_代碼獲取miui版本號(hào)-CSDN博客
  • Android-ROM-Identifier/build_prop/中興-BA601 at d491963be4ccefffb33b0612283b5ec586e0a7e9 · SenhLinsh/Android-ROM-Identifier
  • AndroidMonitor/roms at bd2bca4442492ab69cad2f82babc32da64672ac5 · jackuhan/AndroidMonitor
  • HappyPlayer5/app/src/main/java/com/zlm/hp/utils/OSUtils.java at ebacd2332fa6991c40ca57a097ac9c9f791d5f01 · zhangliangming/HappyPlayer5

到了這里,關(guān)于Android 獲取設(shè)備的CPU型號(hào)和設(shè)備型號(hào)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Ubuntu——系統(tǒng)版本、顯存、CPU型號(hào)、GPU型號(hào)查詢

    Ubuntu——系統(tǒng)版本、顯存、CPU型號(hào)、GPU型號(hào)查詢

    一、系統(tǒng)版本查詢 二、CPU信息查詢 三、顯存查詢 四、GPU顯卡信息查詢 查詢結(jié)果如下:系統(tǒng)版本為Ubuntu 20.04.6 LTS 如上圖所示,本機(jī)的CPU型號(hào)信息為 i7-11700k 如上圖所示,其顯存為12G(12050MiB) 如下圖所示,NVIDIA GeForce RTX 3080 Ti 即為本機(jī)顯卡型號(hào)信息

    2024年02月06日
    瀏覽(32)
  • Android獲取手機(jī)設(shè)備信息

    Android獲取手機(jī)設(shè)備信息 在Android應(yīng)用開(kāi)發(fā)中,我們經(jīng)常需要獲取手機(jī)設(shè)備的信息來(lái)做一些個(gè)性化的邏輯處理。本文將介紹如何使用Android提供的API獲取手機(jī)設(shè)備信息,并給出相應(yīng)的源代碼示例。 獲取設(shè)備型號(hào) 設(shè)備型號(hào)可以幫助我們了解用戶所使用的具體設(shè)備類型,從而做出一

    2024年01月25日
    瀏覽(19)
  • CPU型號(hào)參數(shù)和SAS卡參數(shù)說(shuō)明

    2*CPU Intel 4214 (2.2G/17M/12C/24T/85W) CPU:2顆 Intel Xeon Silver 4214 處理器 頻率:2.2 GHz 緩存:17 MB 核心數(shù)量:12核心 線程數(shù)量:24線程 功耗:85W SAS HBA 卡是連接存儲(chǔ)設(shè)備和計(jì)算機(jī)系統(tǒng)之間的接口卡,用于提供高速的數(shù)據(jù)傳輸和可靠性保障。HBA 的全稱是 Host Bus Adapter,即主機(jī)總線適配器

    2024年02月07日
    瀏覽(23)
  • Android設(shè)備序列號(hào):如何獲取和查找您的Android設(shè)備的序列號(hào)

    Android設(shè)備序列號(hào):如何獲取和查找您的Android設(shè)備的序列號(hào) 在使用Android設(shè)備時(shí),有時(shí)候需要查找設(shè)備的序列號(hào)來(lái)進(jìn)行診斷、維修或者進(jìn)行其他操作。本文將介紹如何獲取和查找Android設(shè)備的序列號(hào),并提供相應(yīng)的源代碼示例。 Android設(shè)備的序列號(hào)是一個(gè)唯一的標(biāo)識(shí)符,用于區(qū)分

    2024年02月07日
    瀏覽(111)
  • CPU型號(hào)分析避坑指南——2、游戲電腦與辦公電腦CPU該如何選擇

    CPU型號(hào)分析避坑指南——2、游戲電腦與辦公電腦CPU該如何選擇

    目錄 前言 游戲和生產(chǎn)選擇CPU 游戲選擇? 實(shí)驗(yàn)對(duì)比 最低預(yù)算選擇——6000以內(nèi) 中等預(yù)算——一萬(wàn)以內(nèi) 高預(yù)算——一萬(wàn)以上 高端需求——直播直播或影視以及3D渲染 非DIV電腦筆記本 游戲推薦 辦公推薦 什么是【神經(jīng)引擎】 什么是【TOPS】 總結(jié): 我們選購(gòu)買(mǎi)電腦的時(shí)候第一個(gè)要

    2024年02月08日
    瀏覽(24)
  • Android12以上獲取設(shè)備網(wǎng)絡(luò)信號(hào)數(shù)據(jù)

    Android12以上獲取設(shè)備網(wǎng)絡(luò)信號(hào)數(shù)據(jù)

    公司有很多物聯(lián)網(wǎng)設(shè)備,關(guān)鍵的信號(hào)參數(shù)是RSRP,總有些地方信號(hào)差,不適合安裝。所以讓開(kāi)發(fā)一款測(cè)信號(hào)的app,用于現(xiàn)場(chǎng)的同事在判定是否符合設(shè)備信號(hào)條件,再考慮安裝設(shè)備。 由于與開(kāi)發(fā)過(guò)程中使用的是Android sdk33,版本太高,網(wǎng)上搜到的很多舊的方法已經(jīng)棄用,用起來(lái)也

    2024年01月17日
    瀏覽(17)
  • 一文深入了解 CPU 的型號(hào)、代際架構(gòu)與微架構(gòu)

    一文深入了解 CPU 的型號(hào)、代際架構(gòu)與微架構(gòu)

    在 10 月 16 號(hào)的時(shí)候,Intel 正式發(fā)布了第 14 代的酷睿處理器。但還有很多同學(xué)看不懂這種發(fā)布會(huì)上發(fā)布的各種 CPU 參數(shù)。借著這個(gè)時(shí)機(jī),給大家深入地講講 CPU 的型號(hào)規(guī)則、代際架構(gòu)與微架構(gòu)方面的知識(shí)。 CPU 在整個(gè)計(jì)算機(jī)硬件中、技術(shù)體系中都算是最最重要的東西了。但很遺

    2024年02月06日
    瀏覽(18)
  • android開(kāi)發(fā)獲取手機(jī)麥克風(fēng)設(shè)備信息

    android開(kāi)發(fā)獲取手機(jī)麥克風(fēng)設(shè)備信息

    之前為了測(cè)試藍(lán)牙耳機(jī)的麥克,想從藍(lán)牙耳機(jī)的麥克錄音。嘗試發(fā)現(xiàn)三星、小米自帶的錄音機(jī)并不能從藍(lán)牙錄音??戳司W(wǎng)上一篇文章,提供了一個(gè)特定的錄音APP,才支持開(kāi)啟藍(lán)牙錄音功能。 非常令人疑惑。想到現(xiàn)在的手機(jī),有不只一個(gè)麥克風(fēng),是否能開(kāi)發(fā)一個(gè)可選擇錄音源的

    2024年04月16日
    瀏覽(22)
  • H5獲取手機(jī)型號(hào),獲取具體手機(jī)型號(hào)

    H5獲取手機(jī)型號(hào),獲取具體手機(jī)型號(hào)

    ?需求: H5頁(yè)面獲取手機(jī)具體機(jī)型在提交照片時(shí)傳給服務(wù)端,并在pc端展示 分析實(shí)現(xiàn):因?yàn)镠5 是運(yùn)行在瀏覽器上的,只能獲取window上給的信息也就是瀏覽器信息。如下圖所示,這是安卓機(jī)(華為)的拿取到的信息。重這個(gè)信息中我們可以獲取到手機(jī)的入網(wǎng)機(jī)型代碼,這個(gè)也是

    2024年02月11日
    瀏覽(22)
  • 騰訊云輕量應(yīng)用服務(wù)器CPU主頻?處理器型號(hào)說(shuō)明

    騰訊云輕量應(yīng)用服務(wù)器CPU主頻?處理器型號(hào)說(shuō)明

    騰訊云輕量應(yīng)用服務(wù)器CPU型號(hào)是什么?輕量服務(wù)器處理器主頻?云服務(wù)器吧賬號(hào)下的CPU處理器型號(hào)為2.5GHz主頻的Intel(R) Xeon(R) Gold 6133 CPU和2.4GHz主頻Intel(R) Xeon(R) CPU E5-26xx v4, 騰訊云輕量應(yīng)用服務(wù)器不支持指定底層物理服務(wù)器的CPU型號(hào) ,騰訊云將隨機(jī)分配滿足套餐規(guī)格的物理

    2024年02月08日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包