Android: Activer / Désactiver la synchronisation automatique des données et arrière-plan

StackOverflow https://stackoverflow.com/questions/767771

  •  12-09-2019
  •  | 
  •  

Question

Je veux développer une application qui désactive les données d'arrière-plan (nouvelle fonctionnalité dans Android 1.5) et la synchronisation automatique et permet ensuite la connexion GPRS / EDGE et vice versa.

Je me suis dit comment activer / GPRS / EDGE désactiver en modifiant les paramètres APN. . (Solution bizarre Cependant,. Les développeurs Android ne pouvait pas penser qu'un utilisateur peut vouloir désactiver GPRS / EDGE) Mais, je ne pouvais pas trouver un moyen pour activer / désactiver la synchronisation automatique des données et arrière-plan

I étudié le code et les applications comme je l'ai compris, l'opération de synchronisation est une intention. Donc, je voulais atteindre avec putExtra à l'intention et déclencher l'activation / désactivation. Mais; Je ne pouvais pas trouver le bon mot-clé. Ou peut-être que je suis tout à fait tort.

Quelle est la bonne façon de résoudre ce problème?

Était-ce utile?

La solution

Dans mes rêves HTC, il y a une case à cocher pour désactiver la synchronisation automatique. Je peux regarder la arborescences de menu si vous le souhaitez, vous pouvez trouver ce que la fonction de rappel est dans le code source Android. Mais je suis assez sûr la synchronisation automatique ne peut pas être complètement désactivé. Décochant la synchronisation automatique empêche la synchronisation d'être effectuée sur une base chronométrée, mais il se produira chaque fois que vous exécutez une application avec des capacités de synchronisation si une connexion de données réseau est disponible.

Bonne chance quand même.

EDIT:

Il y a deux façons d'obtenir les informations que vous désirez.

D'abord, je pense que vous pouvez utiliser le code dans Android sources / packages / apps / Paramètres / src / com / android / paramètres / Utils.java pour créer une activité qui fera appel toutes les clés de l'intention puis trouver le celui que vous voulez.

L'autre façon est d'écrire un message gentil avec le gars qui a fait la bascule application de réglage ( http://smartphoneandroid.com/2008/12/28/toggle-setting-perfect-app-for-android-phone.html ) depuis qu'il évidemment trouvé une solution à votre problème. Son adresse e-mail est écrit dans la feuille d'application sur l'Android Market. Je ne vais pas écrire ici, mais si vous n'avez pas accès à vrai téléphone android, je peux l'envoyer à vous sur votre adresse mail.

Autres conseils

Les données de base est un sécuriser la mise en , ne peut donc pas être modifié par les applications utilisateur. Mais gardez à l'esprit, il est juste un cadre - ce n'est pas appliquée. Les applications sont destinées à le lire et à le respecter, mais je parie que certains ne le font pas.

Pour désactiver le AutoSynch

ContentResolver.setMasterSyncAutomatically(false);

Pour activer le AutoSynch

ContentResolver.setMasterSyncAutomatically(true);

L'autorisation dont vous avez besoin est

<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />

setMasterSyncAutomatically () sur ContentResolver devrait le faire. Vérifier: général-sync-paramètres-synchronisation automatique-case-programtically

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top