Obtener el nombre del dispositivo Android
¿Cómo obtener el nombre del dispositivo Android? Estoy usando el deseo de HTC. Cuando lo conecté a través de HTC Sync el software está mostrando el nombre 'HTC Smith' . Me gustaría obtener este nombre mediante código.
¿Cómo es esto posible en android?
- Cómo conectarse a un teléfono remoto mediante HFP-bluetooth mediante programación en android
- Android: ¿define TextView TextStyle mediante programación?
- iOS alternativa al android's UUID (long mostSigBits, long leastSigBits)
- ¿Qué es "String ..." en java?
- debug.keystore no existe
Gracias
- Botón de pantalla completa de Video dentro de WebView no funciona
- Teclas especiales KeyEvent (como silenciar)
- Android: Los usuarios con ciertos dispositivos no pueden usar los servicios web de mi aplicación - SSLPeerUnverifiedException
- Lista de palabras reservadas en Android
- Imposible crear archivo en almacenamiento externo Android
- Android Httpclient
- Android Studio no pudo encontrar un Jvm válido (relacionado con MAC OS)
- Envío de correo electrónico con GMail en android
Con el fin de obtener el nombre de dispositivo de Android que tiene que agregar sólo una sola línea de código:
android.os.Build.MODEL;
Encontrado aquí: get-android-device-name
Puedes ver las respuestas aquí Obtener Android Phone Model 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); } }
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 de mercado 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"
.
He creado una pequeña biblioteca que obtiene el mercado (consumidor amigable) nombre de un dispositivo. Obtiene el nombre correcto para más de 10.000 dispositivos y se actualiza constantemente. Si desea utilizar mi biblioteca, haga clic en el siguiente enlace:
Biblioteca de AndroidDeviceNames en Github
Si no desea utilizar la biblioteca anterior, 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)
Puedes usar:
Desde android doc:
MANUFACTURER
:String MANUFACTURER
El fabricante del producto / hardware.
MODEL
:String MODEL
El nombre visible por el usuario final para el producto final.
DEVICE
:String DEVICE
El nombre del diseño industrial.
Por 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, es mucho el atributo en la clase Build que puede utilizar, 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 su es otras maneras que usted puede conseguir el nombre del dispositivo sin usar la clase de la Build
(con el bluetooth).
La respuesta de @hbhakhra hará.
Si está interesado en una explicación detallada, es útil consultar el documento de definición de compatibilidad de Android . (3.2.2 Parámetros de compilación)
Usted encontrará:
DEVICE (Dispositivo): valor elegido por el implementador del dispositivo que contiene el nombre de desarrollo o el nombre de código que identifica la configuración de las características de hardware y el diseño industrial del dispositivo. El valor de este campo DEBE ser codificable como 7-bit ASCII 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 como es conocido por el usuario final. Este 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 original del equipo (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 ("").
Simplemente utilice
BluetoothAdapter.getDefaultAdapter().getName()
Resolví esto consiguiendo el nombre de Bluetooth, pero no del BluetoothAdapter
(que necesita el permiso de Bluetooth).
Aquí está el código:
Settings.Secure.getString(getContentResolver(), "bluetooth_name");
No se necesitan permisos adicionales.