Me gustaría saber si hay una manera de leer el modelo de teléfono mediante programación en Android.
Me gustaría obtener una cadena como HTC Dream, Milestone, Sapphire o lo que sea ...
fuente
Me gustaría saber si hay una manera de leer el modelo de teléfono mediante programación en Android.
Me gustaría obtener una cadena como HTC Dream, Milestone, Sapphire o lo que sea ...
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"
.
Creé una pequeña biblioteca que obtiene el nombre de mercado (amigable para el consumidor) 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:
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;
StringBuilder phrase = new StringBuilder();
for (char c : arr) {
if (capitalizeNext && Character.isLetter(c)) {
phrase.append(Character.toUpperCase(c));
capitalizeNext = false;
continue;
} else if (Character.isWhitespace(c)) {
capitalizeNext = true;
}
phrase.append(c);
}
return phrase.toString();
}
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)
getDeviceName()
? Si eso no le da los resultados que está buscando, no hay una mejor solución que yo sepa.Uso el siguiente código para obtener el nombre completo del dispositivo. Obtiene las cadenas del modelo y del fabricante y las concatena a menos que la cadena del modelo ya contenga el nombre del fabricante (en algunos teléfonos sí):
Aquí hay algunos ejemplos de nombres de dispositivos que obtuve de los usuarios:
fuente
Sí: Build.MODEL .
fuente
En realidad eso no es 100% correcto. Eso puede darte Modelo (a veces números).
Le conseguirá el fabricante del teléfono (parte de HTC de su solicitud):
Para un nombre de producto:
fuente
String name = Build.MANUFACTURER + " - " + Build.MODEL
es la combinación más útil. Build.PRODUCT a veces usa un nombre inesperado. Por ejemplo, en el Galaxy Nexus, devuelve "takgu". Build.MODEL, por otro lado, es el valor orientado al usuario que se muestra en Configuración-> Acerca del teléfono-> Número de modelo.Para quienes buscan la lista completa de propiedades de
Build
aquí es un ejemplo para Sony Z1 Compact:Puede enumerar fácilmente esas propiedades para su dispositivo en modo de depuración usando el diálogo "evaluar expresión" usando kotlin:
fuente
fuente
Las siguientes cadenas son todas útiles cuando desea recuperar el fabricante, el nombre del dispositivo y / o el modelo:
fuente
Aparentemente necesita usar la lista de Google en https://support.google.com/googleplay/answer/1727131
Las API no devuelven nada de lo que esperaba ni nada en la Configuración. Para mi Motorola X esto es lo que obtengo
Ir a la página mencionada anteriormente "fantasma" mapas de Moto X. Parece que esto podría ser un poco más simple ...
fuente
puede usar el siguiente código para obtener la marca y el modelo de marca del dispositivo.
fuente
Aquí está mi código, para obtener el fabricante, la marca, la versión del sistema operativo y el nivel de API de soporte
Salida:
fuente
Versión Kotlin
fuente
capitalize
stackoverflow.com/a/59158474/1446466Se modificó un poco el código de Idolons. Esto capitalizará las palabras al obtener el modelo del dispositivo.
fuente
Versión corta de Kotlin:
fuente
Build.DEVICE Da el nombre legible por humanos para algunos dispositivos que
Build.MODEL
fuente
Puede obtener el nombre del dispositivo del teléfono desde
En caso de que el teléfono no sea compatible con Bluetooth, debe construir el nombre del dispositivo a partir de
Aquí está el código de muestra para obtener el nombre del dispositivo del teléfono.
fuente
Puede probar la siguiente función y devolver el nombre de su modelo de teléfono en formato de cadena.
fuente