2010-04-06 3 views
5

J'essaie de trouver du code qui va m'aider à savoir si l'appareil que j'utilise possède un GPS ou non? Je ne veux pas savoir si le GPS est activé ou désactivé. Je veux juste savoir si l'appareil a du matériel GPS ou non via mon programme.Trouver par programme le support de l'appareil GPS ou non?

+0

Remarque: Vous devez probablement "accepter" certaines réponses à vos questions précédentes. Pour ce faire, cliquez sur l'icône verte "tick" à côté de la meilleure réponse. –

Répondre

15

Oui, cela peut être fait.

Vous pouvez appeler LocationManager.getAllProviders() et vérifier si LocationManager.GPS_PROVIDER est inclus dans la liste. Juste pour référence, je crois que tous les téléphones Android sont livrés avec un GPS. Ce n'est pas quelque chose qu'Android semble s'inquiéter, par exemple. mentionner le GPS comme l'un des attributs de l'appareil renvoyés par PackageManager.getSystemAvailableFeatures().

+0

Merci Christopher –

+0

Ils ont actuellement tous GPS, mais certaines tablettes à l'avenir pourraient ne pas (je pense que la tablette K-Mart ne fait pas). – matto1990

+0

@RockOn Si vous trouvez que cela répond à votre question, pouvez-vous l'accepter? –

3

Il existe également la méthode LocationManager.isProviderEnabled (fournisseur de chaîne).

+2

Ceci est une mauvaise réponse. Citation de la question: "Je ne veux pas savoir si le GPS est activé ou désactivé.". – Namenlos

6

Une vieille question, mais je trouve cela plus facile à utiliser

private boolean hasGpsSensor(){ 
     PackageManager packMan = getPackageManager(); 
     return packMan.hasSystemFeature(PackageManager.FEATURE_LOCATION_GPS); 
} 

Ce sera faux sinon disponible et vrai si elle est activée ou non, alors j'ai utilisé cette après

private boolean isGpsEnabled(){ 
     LocationManager manager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 
     return manager.isProviderEnabled(LocationManager.GPS_PROVIDER); 
} 

Avec ce deux , vous saurez si le GPS est disponible, activé ou désactivé

+0

Court. Concis. Vrai. Bonne réponse à OP. Très informatif. Je vous remercie! – 1111161171159459134

Questions connexes