Comment activer/désactiver le gps et les données mobiles android par programmation?
Je veux que mon application pour être en mesure d'activer/de désactiver le gps et mobiles de données par programmation comme il existe de nombreuses applications comme tasker, le profil d'écoulement, lookout supplémentaire qui peut faire cela, donc j'ai cherché, mais pas trouvé de bon exemple, j'ai trouvé le code suivant, mais ils n'ont pas de travail.
private void setMobileDataEnabled(Context context, boolean enabled) {
final ConnectivityManager conman = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
final Class conmanClass = Class.forName(conman.getClass().getName());
final Field iConnectivityManagerField = conmanClass.getDeclaredField("mService");
iConnectivityManagerField.setAccessible(true);
final Object iConnectivityManager = iConnectivityManagerField.get(conman);
final Class iConnectivityManagerClass = Class.forName(iConnectivityManager.getClass().getName());
final Method setMobileDataEnabledMethod = iConnectivityManagerClass.getDeclaredMethod("setMobileDataEnabled", Boolean.TYPE);
setMobileDataEnabledMethod.setAccessible(true);
setMobileDataEnabledMethod.invoke(iConnectivityManager, enabled);
}
private void turnGPSOn(){
String provider = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
if(!provider.contains("gps")){ //if gps is disabled
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);
}
}
private void turnGPSOff(){
String provider = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
if(provider.contains("gps")){ //if gps is enabled
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);
}
}
Quelle version d'android utilisez-vous pour les tests?
android 2.3 et 4.1.2
Essayez le code ci-dessous, laissez-moi savoir si cela a fonctionné.
son genre de travail merci mais ce qu'il est en train de faire est de tourner sur le service, donc si vous avez commencé à partir de mon application, une icône apparaît en haut de la barre d'état et il est à la recherche pour gps......et même si je l'ai désactiver manuellement ou à partir de l'application, elle ne veut pas aller à partir de là et sur android 4.1.2, il n'a pas allumé le gps l'icône dans la barre d'état, mais il a commencé le service, mais dans android 2.3, il se tourna sur l'icône et aussi a commencé le service
Oubliez le GPS... avez-vous été en mesure de désactiver les données mobiles au moins? Si oui, comment... le code (autres que pour le GPS)? Veuillez également mentionner d'autres changements nécessaires comme les espaces de noms etc....
android 2.3 et 4.1.2
Essayez le code ci-dessous, laissez-moi savoir si cela a fonctionné.
son genre de travail merci mais ce qu'il est en train de faire est de tourner sur le service, donc si vous avez commencé à partir de mon application, une icône apparaît en haut de la barre d'état et il est à la recherche pour gps......et même si je l'ai désactiver manuellement ou à partir de l'application, elle ne veut pas aller à partir de là et sur android 4.1.2, il n'a pas allumé le gps l'icône dans la barre d'état, mais il a commencé le service, mais dans android 2.3, il se tourna sur l'icône et aussi a commencé le service
Oubliez le GPS... avez-vous été en mesure de désactiver les données mobiles au moins? Si oui, comment... le code (autres que pour le GPS)? Veuillez également mentionner d'autres changements nécessaires comme les espaces de noms etc....
OriginalL'auteur Taimur Ayaz | 2013-05-25
Vous devez vous connecter pour publier un commentaire.
Heureusement, ce n'est pas possible, pour d'évidentes raisons de confidentialité. Alors qu'il y avait certains hacks, comme celui de votre question, que l'habitude de travailler, ces failles de sécurité ont depuis été corrigé.
Vous êtes invités à fournir des éléments de preuve que l'une de ces apps peuvent le faire sur les versions récentes d'Android.
Depuis que La question a également été sur le réseau mobile, et puisque vous n'avez pas de mentionner à rien de lui, je suppose que cette fonctionnalité est encore en place pour chacun de nous roturiers...:)?
Je n'ai aucune idée en ce qui concerne les données mobiles.
Je vais vous donner un rendez-vous à plus tard, et après une réponse... Merci
Et oui, le Réseau Mobile activer/désactiver le hack travaille toujours sur la 4.2...
OriginalL'auteur CommonsWare
Essayez ceci pour allumer le gps
pour la désactivation du gps,
Pour les données mobiles, avez-vous ajouté l'autorisation de manifester? Si pas, essayez d'ajouter et de le vérifier.
Laissez-moi savoir si tout a fonctionné.
Heureusement, votre GPS hack s'appuie sur une faille de sécurité qui a été fixé pour un certain temps.
Merci pour l'indication, je vais corriger ça dans mes scénarios pour l'avenir.
J'ai essayé cela, il est juste en montrant que "la Recherche de GPS", mais pas réellement allumé
il montre gps icône sur la barre de notification, mais il ne fait allumer le gps
OriginalL'auteur Oam