2010-05-24 23 views
0

Comment puis-je vérifier la prise en charge GPS dans l'application pour ajouter une fonctionnalité pour les services de localisation activés? Mon souci est, je sais que je devrais spécifier l'étiquette dans le manifeste pour déclarer que l'application utilise des services de localisation, mais je veux toujours que l'application fonctionne pour ceux sans. Je veux juste vérifier et, si le service est disponible, l'utiliser; Sinon, ignorez simplement cette fonctionnalité.Comment puis-je vérifier la prise en charge GPS dans l'application pour ajouter une fonctionnalité pour les services de localisation activés?

Merci.

Répondre

6

Vous pouvez vérifier si des services de localisation sont activés en recherchant si des fournisseurs de localisation sont activés. J'utilise cette fonction dans mon code en ce moment:

public static boolean areProvidersEnabled(Context context) { 
    ContentResolver cr = context.getContentResolver(); 
    String providersAllowed = Settings.Secure.getString(cr, Settings.Secure.LOCATION_PROVIDERS_ALLOWED); 
    return providersAllowed != null && providersAllowed.length() > 0; 
} 

Une autre chose intéressante est que vous pouvez envoyer directement l'utilisateur aux paramètres de l'emplacement et de leur demander si elles veulent activer. Je vais vous laisser sur la façon de demander à l'utilisateur, mais l'intention d'obtenir les paramètres est comme suit:

Intent intent = new Intent(Settings.ACTION_SECURITY_SETTINGS); 
startActivity(intent); 
+0

Merci! Désolé pour l'acceptation tardive! –