Получить имя устройства Android

Как получить имя устройства Android? Я использую желание HTC. Когда я подключил его через HTC Sync, программное обеспечение отображает имя «HTC Smith» . Я хотел бы получить это имя с помощью кода.

Как это возможно в андроиде?

благодаря

Solutions Collecting From Web of "Получить имя устройства Android"

Чтобы получить имя устройства Android, вы должны добавить только одну строку кода:

 android.os.Build.MODEL; 

Найдено здесь: get-android-device-name

Вы можете видеть ответы здесь. Получите модель Android Phone Programmatically

 public String getDeviceName() { String manufacturer = Build.MANUFACTURER; String model = Build.MODEL; if (model.startsWith(manufacturer)) { return capitalize(model); } else { return capitalize(manufacturer) + " " + model; } } private String capitalize(String s) { if (s == null || s.length() == 0) { return ""; } char first = s.charAt(0); if (Character.isUpperCase(first)) { return s; } else { return Character.toUpperCase(first) + s.substring(1); } } 

Попробуй. Вы можете получить имя устройства через Bluetooth.

Надеюсь, это поможет вам

 public String getPhoneName() { BluetoothAdapter myDevice = BluetoothAdapter.getDefaultAdapter(); String deviceName = myDevice.getName(); return deviceName; } 

На многих популярных устройствах рыночное название устройства недоступно. Например, на Samsung Galaxy S6 значение Build.MODEL может быть "SM-G920F" , "SM-G920I" или "SM-G920W8" .

Я создал небольшую библиотеку, которая получила название устройства (потребительское). Он получает правильное имя для более чем 10 000 устройств и постоянно обновляется. Если вы хотите использовать мою библиотеку, нажмите на ссылку ниже:

Библиотека AndroidDeviceNames на Github


Если вы не хотите использовать библиотеку выше, то это лучшее решение для получения удобного для пользователя имени устройства:

 /** Returns the consumer friendly device name */ public static String getDeviceName() { String manufacturer = Build.MANUFACTURER; String model = Build.MODEL; if (model.startsWith(manufacturer)) { return capitalize(model); } return capitalize(manufacturer) + " " + model; } private static String capitalize(String str) { if (TextUtils.isEmpty(str)) { return str; } char[] arr = str.toCharArray(); boolean capitalizeNext = true; String phrase = ""; for (char c : arr) { if (capitalizeNext && Character.isLetter(c)) { phrase += Character.toUpperCase(c); capitalizeNext = false; continue; } else if (Character.isWhitespace(c)) { capitalizeNext = true; } phrase += c; } return phrase; } 

Пример из моего Verizon HTC One M8:

 // using method from above System.out.println(getDeviceName()); // Using https://github.com/jaredrummler/AndroidDeviceNames System.out.println(DeviceName.getDeviceName()); 

Результат:

HTC6525LVW

HTC One (M8)

Вы можете использовать:

От android doc:

MANUFACTURER :

 String MANUFACTURER 

Производитель продукта / оборудования.

MODEL :

 String MODEL 

Имя конечного пользователя для конечного продукта.

DEVICE :

 String DEVICE 

Название промышленного образца.

В качестве примера:

 String deviceName = android.os.Build.MANUFACTURER + " " + android.os.Build.MODEL; //to add to textview TextView textView = (TextView) findViewById(R.id.text_view); textView.setText(deviceName); 

Кроме того, их много атрибута в классе Build, который вы можете использовать, например:

  • os.android.Build.BOARD
  • os.android.Build.BRAND
  • os.android.Build.BOOTLOADER
  • os.android.Build.DISPLAY
  • os.android.Build.CPU_ABI
  • os.android.Build.PRODUCT
  • os.android.Build.HARDWARE
  • os.android.Build.ID

Кроме того, это другие способы получить имя устройства без использования класса Build (через Bluetooth).

Ответ @ hbhakhra будет делать.

Если вас интересует подробное объяснение, полезно ознакомиться с документом определения совместимости Android . (3.2.2 Параметры сборки)

Ты найдешь:

DEVICE – значение, выбранное разработчиком устройства, содержащее имя разработки или кодовое имя, определяющее конфигурацию аппаратных средств и промышленный дизайн устройства. Значение этого поля ДОЛЖНО кодироваться как 7-бит ASCII и соответствовать регулярному выражению «^ [a-zA-Z0-9 _-] + $".

MODEL – значение, выбранное разработчиком устройства, содержащее имя устройства, как известно конечному пользователю. Это ДОЛЖНО быть тем же именем, при котором устройство продается и продается конечным пользователям. Нет требований к конкретному формату этого поля, за исключением того, что он НЕ ДОЛЖЕН быть пустым или пустой строкой ("").

ПРОИЗВОДИТЕЛЬ – Торговое наименование производителя оригинального оборудования (OEM) изделия. Нет требований к конкретному формату этого поля, за исключением того, что он НЕ ДОЛЖЕН быть пустым или пустой строкой ("").

Просто используйте

BluetoothAdapter.getDefaultAdapter().getName()

Я решил это, получив имя Bluetooth, но не от BluetoothAdapter (которому требуется разрешение Bluetooth).

Вот код:

 Settings.Secure.getString(getContentResolver(), "bluetooth_name"); 

Никаких дополнительных разрешений не требуется.