2010-06-27 6 views
1

Je ne l'aime peut-être pas, mais le nombre d'appareils Android non officiels augmente et la plupart d'entre eux ont des modifications personnalisées sur le système d'exploitation Android ou ne sont pas conformes à la norme Android Compatibility Definition Document. Par exemple, l'aPad/iRobot a apporté des modifications à la façon dont le système gère les rotations d'écran et l'Eken a un bouton Menu virtuel qui disparaît lorsque l'application s'exécute en mode plein écran.Identification d'appareils Android non officiels

Les applications qui souhaitent être compatibles avec ces périphériques peuvent avoir besoin de les traiter au cas par cas, en utilisant la classe Build pour les identifier.

Malheureusement, je n'ai pas accès à ces appareils et je ne sais pas comment les identifier. Est-ce que quelqu'un a une liste de Build valeurs pour les appareils Android non-officiels, ou est-il un moyen de savoir si l'appareil est un appareil Android officiel (interroger l'application Market, peut-être)?

Répondre

1

J'ai créé une application appelée Bug Reporter qui envoie toutes les valeurs Build par email. Si je reçois un rapport comme celui-ci, je demande à l'utilisateur de l'exécuter et je peux l'utiliser pour identifier correctement l'appareil.

5

Je dirais que s'ils ne se conforment pas au document de définition de compatibilité, c'est leur problème. Vous ne devriez pas avoir à vous soucier des périphériques qui ne sont pas conformes à la norme Android, tout comme si un fabricant d'ordinateur fabriquait un ordinateur sans clavier, ce n'est pas votre travail de contourner les différences de matériel.

+1

+1, bonne réponse. – ceejayoz

+1

J'aimerais que ce soit comme ça. Malheureusement, la plupart des utilisateurs ne connaissent pas le CDD et s'en foutent. Qu'on le veuille ou non, ces appareils non standard font partie de l'écosystème Android, et leurs utilisateurs s'attendent à ce que les applications Android fonctionnent dessus. Une de nos applications ne fonctionne pas sur l'un de ces modèles et nous recevons régulièrement des courriels à ce sujet. – hpique

+0

S'agit-il d'un seul modèle dont vous vous plaignez? Si c'est le cas, vous pouvez seulement corriger votre code pour travailler sur les appareils dont les gens se plaignent. (Et peut-être aussi envoyer une lettre en colère au fabricant sur la façon dont ils devraient se conformer aux spécifications Android!) –

0

Je trouve cela sur un Android blog:

import Android.Provider.Settings.System; 
String Android_ID = System.getString 
    (this.getContentResolver(), System.ANDROID_ID); 

Je ne sais pas comment cela est utile, même si votre application peut enregistrer cet ID et le signaler. Voici une autre option, du même Android blog.

+0

Je pense que c'est pour obtenir l'ID d'un périphérique spécifique, pas le modèle. Le modèle est accessible via la classe Build. – hpique