在Java中獲取Android端登陸的裝置資訊

全是Bug寫個蛇發表於2020-10-28

最近在專案中有個需求,需要獲取Android裝置的資訊,例如:華為,Android10。
可以通過request.getHeader(“User-Agent”);中來解析出。但是實踐證明華為手機並不能拿到手機型號等資訊。
通過很多次的百度百度,發現谷歌的Android包有此神效。
首先maven進行匯入

<dependency>
            <groupId>com.google.android</groupId>
            <artifactId>android</artifactId>
            <version>4.1.1.4</version>
</dependency>

在類中android.os.Build中可以獲取一些基本資訊,如下

Build.BOARD:獲取裝置基板名稱
Build.BOOTLOADER:獲取裝置載入程式版本號
Build.BRAND:獲取裝置品牌
Build.CPU_ABI:獲取裝置指令集名稱(CPU的型別)
Build.CPU_ABI2:獲取第二個指令集名稱
Build.DEVICE:獲取裝置驅動名稱
Build.DISPLAY:獲取裝置顯示的版本包(在系統設定中顯示為版本號)和ID一樣
Build.FINGERPRINT:裝置的唯一標識。由裝置的多個資訊拼接合成
Build.HARDWARE:裝置硬體名稱,一般和基板名稱一樣(BOARD)
Build.HOST:裝置主機地址
Build.ID:裝置版本號
Build.MODEL:獲取手機的型號 裝置名稱。如:SM-N9100(三星Note4)
Build.MANUFACTURER:獲取裝置製造商。如:samsung
Build.PRODUCT:產品的名稱
Build.RADIO:無線電韌體版本號,通常是不可用的 顯示

public class MainActivity extends android.app.Activity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    // 獲取電話管理物件
    TelephonyManager mTelephonyManager = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
    // 獲取手機號碼
    String phoneNumber = mTelephonyManager.getLine1Number();
    Log.d("獲取本機電話號碼--->", phoneNumber);
  }

相關文章