Google Maps semble avoir une quantité folle d'intentions enregistrées pour lui, ainsi que d'autres moyens d'être lancé.
Comme il s'agit d'une application très gourmande en ressources (notamment en mémoire), j'aimerais beaucoup qu'il soit possible d'y accéder. en permanence ne fonctionne que si/jusqu'à ce que j'en ai vraiment besoin. Cependant, Android continue de le lancer en permanence, par exemple, lorsque l'état de la connectivité change (ce qui, pour moi, se produit assez fréquemment en intérieur) ou lorsque la position GPS/réseau change.
Existe-t-il un moyen de faire en sorte que Google Maps ne lance AUCUN processus, garanti, jusqu'à ce que je clique sur une icône pour le lancer délibérément ?
Environnement : Droid X, fonctionnant en root stock Froyo 2.2 ; j'ai Autostarts . et Advanced Task Killer, ainsi que la version Pro de Titanium Backup installée.
Je suis ouvert à presque toutes les méthodes tant que
-
Il est fiable.
-
Il me permet d'utiliser Google Maps avec toutes les fonctionnalités prévues lorsque j'en ai vraiment besoin, sans avoir besoin de 5 minutes de travail pour le reconfigurer.
-
Idéalement, il ne faudrait pas que je doive redémarrer pour l'utiliser, mais ce n'est pas un problème.
-
Je préférerais VIVEMENT une méthode générique qui serait applicable à d'autres applications, PAS seulement à Google Maps.
-
Je suis un développeur de logiciels avec une bonne dose d'expérience en administration système Unix/Linux. En d'autres termes, les solutions qui nécessitent une invite shell ou l'écriture/exécution de scripts shell (ou Perl dans l'environnement de script Android) sont les bienvenues.
Les solutions impliquant l'écriture de ma propre application Java Android sont acceptables tant qu'elles sont suffisamment détaillées pour qu'un débutant en développement Android puisse au moins faire un peu de travail sans être complètement perdu.
Les choses que j'ai essayées :
-
Le fait de tuer les processus via Task Killer ne fonctionne PAS - ils reviennent, soit immédiatement, soit après un petit moment. Probablement via Intents mais je ne suis pas sûr à 100%.
-
Méthodes standard pour résoudre les problèmes de GMaps (déconnexion de Latitude/arrêt du GPS et du localisateur de réseau). Cela semble beaucoup aider, mais je trouve inacceptable la nécessité d'éteindre en permanence le GPS/localisateur, car cela ne me permet pas d'exécuter l'application Locale ou les tâches locales.
-
Geler via Titanium Backup Pro. Cela nécessite un redémarrage et n'est généralement pas très agréable.
Les approches possibles auxquelles j'ai pensé (mais ne savent pas comment faire) sont :
-
D'une manière ou d'une autre, éliminez complètement (désactivez) toutes les intentions enregistrées par Google Maps lorsqu'elles ne sont pas nécessaires.
Problèmes : Premièrement, je ne sais pas quels sont TOUS les Intents utilisés par Google Maps.
Deuxièmement, le seul moyen pratique de faire cela que je connaisse est l'application Autostarts qui n'est PAS une solution viable - cela prend ~5-10 minutes pour trouver et réactiver toutes les intentions. Je suis conscient de (Autostarts est vraiment mauvais dans la gestion des intentions par application - il est centré sur l'intention), sans parler des intentions possibles qu'Autostarts ne connaît PAS (c'est une boîte noire, je ne sais pas quelles intentions sont manquées, si elles existent.
-
Il existe un script qui renomme les JAR ou tout autre fichier exécutable sur Android (entier .APK ?) de disons
GoogleMaps.apk
aGoogleMaps.disabled.apk
et retour.Problème : Je ne sais pas si cela est possible sur un Froyo enraciné. De plus, Google Maps était pré-installé sur DroidX, donc renommer n'affecterait que la mise à jour mais pas l'application originale ?
-
Disposer d'un script qui ira dans l'APK et renommera/déplacera/videra le fichier manifeste pour supprimer toute intention pour cette application.
Problème : cela nécessite-t-il une recompilation ? Il est certain que cela nécessite un redémarrage, ce qui est un inconvénient.