J'aimerais savoir s'il existe un moyen de lire le modèle de téléphone de manière programmatique dans Android.
J'aimerais avoir une chaîne comme HTC Dream, Milestone, Sapphire ou autre...
J'aimerais savoir s'il existe un moyen de lire le modèle de téléphone de manière programmatique dans Android.
J'aimerais avoir une chaîne comme HTC Dream, Milestone, Sapphire ou autre...
J'utilise le code suivant pour obtenir le nom complet du dispositif. Il récupère les chaînes modèle et fabricant et les concatène, sauf si la chaîne modèle contient déjà le nom du fabricant (sur certains téléphones, c'est le cas) :
public String getDeviceName() {
String manufacturer = Build.MANUFACTURER;
String model = Build.MODEL;
if (model.toLowerCase().startsWith(manufacturer.toLowerCase())) {
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);
}
}
Voici quelques exemples de noms d'appareils que j'ai obtenus des utilisateurs :
Samsung GT-S5830L
Motorola MB860
Sony Ericsson LT18i
LGE LG-P500
HTC Desire V
HTC Wildfire S A510e
Y a-t-il une liste quelque part qui contient toutes les réponses possibles que vous pouvez obtenir du téléphone. Par exemple, si vous avez besoin de rediriger un utilisateur sur la façon d'installer quelque chose sur un type de téléphone spécifique ou de vendre quelque chose à un modèle spécifique.
Oui : Build.MODEL .
Il me donne toujours "Android SDK built for x86" quand je l'essaie avec l'émulateur. Je n'arrive pas à obtenir le nom du modèle spécifiquement dans l'émulateur avec un nom de modèle différent.
J'ai découvert que String name = Build.MANUFACTURER + " - " + Build.MODEL
pour être la combinaison la plus utile. Build.PRODUCT utilise parfois un nom inattendu. Par exemple, sur le Galaxy Nexus, il renvoie "takgu". Build.MODEL, quant à lui, est la valeur affichée par l'utilisateur sous Paramètres->A propos du téléphone->Numéro de modèle.
Cela dépend en grande partie du fabricant ; les appareils HTC (Evo 4G, 4G LTE, 3D et Slide) utilisent ce que j'ai indiqué ci-dessus.
Apparemment, vous devez utiliser la liste de Google à l'adresse suivante https://support.google.com/googleplay/answer/1727131
Les API ne renvoient rien de ce que j'attends ou de ce qui se trouve dans les paramètres. Pour mon Motorola X, voici ce que j'obtiens
Build.MODEL = "XT1053"
Build.BRAND = "motorola"
Build.PRODUCT = "ghost"
Aller à la page mentionné ci-dessus des cartes "fantômes" sur le Moto X. Il semble que cela pourrait être un peu plus simple...
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
1 votes
Je ne comprends pas pourquoi Google n'inclut pas quelque chose comme "Build.MARKET_NAME".