古詩詞大全網 - 成語查詢 - Android獲取系統(ROM)類別及版本號

Android獲取系統(ROM)類別及版本號

很多時候我們需要知道用戶當前使用的是什麽系統,甚至是系統的版本號(比如MIUI V7、V8)來進壹步處理業務邏輯,比如打開系統權限設置界面。

感謝國內各大Android手機/系統生產商,讓我們這些Android開發者每天都樂(傷)此(心)不(欲)疲(絕)的解決這些差異化問題。

通過讀取 android.os.Build.MANUFACTURER 常量來獲取設備的制造商從而確定設備所使用的系統。

常用 MANUFACTURER 常量對應關系

使用示例:

總結 :此方法通常有效,因為我們通常認為小米的手機使用MIUI系統,華為的手機使用EMUI系統等這種關聯關系,那麽就可能存在以下情況:

當然如果還想獲取系統的版本號,可能這個方法就有點無力回天了。

因此我們可以通過在文件內容中查找壹些特征標識從而確定系統類別。

在對 build.prop 進壹步了解的過程中,找到了別人對這壹部分的具體使用和講解,這裏就不再過多闡述。

別人的使用講解

別人封裝好的工具類

總結 :此方法通常更為有效(取決於特征標識的有效性),但比方法1略復雜壹些。但是此方法可能存在壹個致命的問題就是可能在某些設備上妳無法讀取 build.prop 文件,據網上資料顯示(華為mate10 及後續的壹些新設備無法讀取此文件)。

對於以上兩種方法,方式不同,也都存在各自的短板,因此在實際生產環境中最好是根據自己的需求而定,甚至是結合兩者方法的特點來實現需求,到目前為止並沒有找到其它更為行之有效能夠適應所有情況的獲取系統類型和版本的方法,如果有,謝天謝地請您告訴我,不勝感激。

附錄:

小米開發文檔- 如何識別小米設備/MIUI系統 ,關於開發文檔中提到的讀取屬性,應該是使用 SystemUtil.java 實現

更多

參考資料:

/xx326664162/article/details/52438706