Nous connaissons tous les problèmes GPS sur Android.Comment puis-je activer et désactiver NETWORK_PROVIDER par programme
Comment créer la même fonction TurnOnGps ci-dessous pour un NETWORK_PROVIDER, je veux activer les deux.
private void turnGPSOn(){
String provider = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
if(!provider.contains("gps")){
final Intent poke = new Intent();
poke.setClassName("com.android.settings","com.android.settings.widget.SettingsAppWidgetProvider"); poke.addCategory(Intent.CATEGORY_ALTERNATIVE);
poke.setData(Uri.parse("3"));
sendBroadcast(poke);
} }
Merci pour l'aide. Mais je voudrais le faire dans le code, sans l'utilisateur. Une autre idée? –
Je suis désolé, mais c'est la seule façon de le faire, autant que je sache, le code que vous fournissiez était juste un petit hack-quoi- qui était un bug dans le 'PowerManager' mais qui était corrigé sur 2.3+, comme CommonsWare a déclaré: "Vous ne pouvez pas activer ou désactiver vous-même un fournisseur de localisation, pour des raisons de confidentialité évidentes." Cela nécessitera une interaction de l'utilisateur, car c'est le choix de l'utilisateur d'activer le GPS ou non. – user959631