Obtener el nombre del dispositivo Android

¿Cómo obtener el nombre del dispositivo Android? Estoy usando HTC desire. Cuando lo conecté a través de HTC Sync, el software muestra el nombre ‘HTC Smith’ . Me gustaría buscar este nombre a través del código.

¿Cómo es esto posible en Android?

Gracias

Para obtener el nombre del dispositivo Android, debe agregar solo una línea de código:

 android.os.Build.MODEL; 

Se encuentra aquí: getting-android-device-name

Puede ver las respuestas aquí Obtenga el modelo de teléfono Android mediante progtwigción

 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); } } 

Intentalo. Puede obtener el Nombre del dispositivo a través de Bluetooth.

Espero que te ayude

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

En muchos dispositivos populares, el nombre comercial del dispositivo no está disponible. Por ejemplo, en el Samsung Galaxy S6, el valor de Build.MODEL podría ser "SM-G920F" , "SM-G920I" o "SM-G920W8" .

Creé una pequeña biblioteca que obtiene el nombre de mercado de un dispositivo (amigable para el consumidor). Recibe el nombre correcto para más de 10,000 dispositivos y se actualiza constantemente. Si desea usar mi biblioteca, haga clic en el siguiente enlace:

AndroidDeviceNames Library en Github


Si no desea utilizar la biblioteca de arriba, esta es la mejor solución para obtener un nombre de dispositivo amigable para el consumidor:

 /** 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; } 

Ejemplo de mi Verizon HTC One M8:

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

Resultado:

HTC6525LVW

HTC One (M8)

Lo solucioné obteniendo el nombre de Bluetooth, pero no del BluetoothAdapter (que necesita permiso de Bluetooth).

Aquí está el código:

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

No se requieren permisos adicionales.

Puedes usar:

Desde el documento de Android:

MANUFACTURER :

 String MANUFACTURER 

El fabricante del producto / hardware.

MODEL :

 String MODEL 

El nombre visible para el usuario final para el producto final.

DEVICE :

 String DEVICE 

El nombre del diseño industrial.

Como un ejemplo:

 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); 

Además, hay muchos atributos en la clase Build que puedes usar, como:

  • 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

También hay otras formas en que puede obtener el nombre del dispositivo sin usar la clase Build (a través del bluetooth).

La respuesta de @hbhakhra servirá.

Si le interesa una explicación detallada, es útil consultar el documento de definición de compatibilidad de Android . (3.2.2 Parámetros de comstackción)

Usted encontrará:

DISPOSITIVO: un valor elegido por el implementador del dispositivo que contiene el nombre de desarrollo o el nombre del código que identifica la configuración de las características del hardware y el diseño industrial del dispositivo. El valor de este campo DEBE ser codificable como ASCII de 7 bits y coincidir con la expresión regular “^ [a-zA-Z0-9 _-] + $”.

MODELO – Un valor elegido por el implementador del dispositivo que contiene el nombre del dispositivo conocido por el usuario final. Esto DEBE ser el mismo nombre bajo el cual el dispositivo se comercializa y se vende a los usuarios finales. No hay requisitos en el formato específico de este campo, excepto que NO DEBE ser nulo o la cadena vacía (“”).

FABRICANTE: nombre comercial del fabricante del equipo original (OEM) del producto. No hay requisitos en el formato específico de este campo, excepto que NO DEBE ser nulo o la cadena vacía (“”).

ACTUALIZACIÓN Puede recuperar el dispositivo desde buildprop con facilidad.

 static String GetDeviceName() { Process p; String propvalue = ""; try { p = new ProcessBuilder("/system/bin/getprop", "ro.semc.product.name").redirectErrorStream(true).start(); BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream())); String line; while ((line = br.readLine()) != null) { propvalue = line; } p.destroy(); } catch (IOException e) { e.printStackTrace(); } return propvalue; } 

Pero ten en cuenta que esto no funciona en algunos dispositivos.

Simplemente usa

BluetoothAdapter.getDefaultAdapter().getName()

Los siguientes trabajos para mí.

String deviceName = Settings.Global.getString (.getContentResolver (), Settings.Global.DEVICE_NAME);

No creo que sea su respuesta duplicada. Las personas de arriba están hablando de configuración segura, para mí la configuración segura es nula, si uso la configuración global, funciona. Gracias de todos modos.

Prueba este código Obtienes el nombre del dispositivo Android.

 public static String getDeviceName() { String manufacturer = Build.MANUFACTURER; String model = Build.MODEL; if (model.startsWith(manufacturer)) { return model; } return manufacturer + " " + model; }