2010-10-11 8 views
1

Possible en double:
How to detect an android device whether it supports google maps APIMapView si elle est pas pris en charge

Salut, j'ai une application avec de multiples activités. Une activité est une MapActivity. Puis-je désactiver MapActivity lorsqu'il n'est pas supporté par le périphérique et laisser l'utilisateur installer l'application et obtenir les activités restantes ou devrais-je développer deux versions de l'application (une avec MapActivity et une autre sans MapActivity)?

Répondre

3

Si vous respectez les approches documentées, vous êtes coincé en train d'écrire deux applications. Toutefois, Dianne Hackborn a souligné qu'il existe un attribut android:required non documenté sur l'élément <uses-library> dans le manifeste. En principe, vous pouvez définir cela comme false pour le module complémentaire Google Maps. En principe, cela signifie que si Google Maps est sur l'appareil, vous pouvez l'utiliser normalement, mais votre application peut être installée sur les appareils qui en sont dépourvus. Vous devrez utiliser Class.forName() ou autre pour voir si les classes Google Maps sont disponibles avant d'essayer d'appeler le startActivity() sur votre MapActivity (par exemple, désactiver le choix du menu qui lance la carte). Mon espoir sincère est que cela soit documenté dans une future version, et jusque-là, vous risquez de ne pas pouvoir travailler, d'être en quelque sorte foiré par un fabricant d'appareils, etc. Si rien d'autre, gardez un œil dessus quand Gingerbread est expédié, et j'espère qu'il est documenté à ce moment-là.

+0

L'attribut requis semble fonctionner à partir de la version 2.0. Je travaille sur la version 1.5 (je ne l'ai pas spécifié). Quoi qu'il en soit est une bonne approche à considérer à partir de la version 2.0. Merci! – Leo2705

Questions connexes