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à.
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