Wydaje się, że na mapach Google zarejestrowano szaloną liczbę Intencji, a także inne sposoby rozpoczęcia.
Ponieważ jest to dość wymagająca aplikacja (szczególnie pod względem pamięci) aplikacja, bardzo chciałbym, aby na stałe nie działała, chyba że / dopóki jej nie potrzebuję. Jednak Android cały czas go uruchamia - na przykład, gdy zmienia się stan łączności (co zdarza się dość często w pomieszczeniach) lub zmienia się lokalizacja GPS / sieci.
Czy istnieje jakiś sposób zagwarantowania, że Mapy Google nie uruchomią ŻADNYCH procesów, gwarantowane, dopóki nie kliknę ikony, aby celowo ją uruchomić?
Środowisko : Droid X, z systemem zrootowanym Froyo 2.2; Mam autostarty . i Advanced Task Killer, a także zainstalowana wersja Pro Titanium Backup.
Jestem dość otwarty na prawie każdą metodę, o ile
Jest niezawodny.
Pozwala mi korzystać z Google Maps ze 100% zamierzoną funkcjonalnością, kiedy JA jej potrzebuję, bez konieczności ponownej konfiguracji 5 minut pracy.
Idealnie, nie wymaga ode mnie ponownego uruchomienia, aby go użyć, ale ten nie jest zabójcą transakcji.
Wolałbym MOCNIE metodę ogólną, która miałaby zastosowanie do innych aplikacji, NIE tylko Map Google.
Jestem programistą z dużą dawką doświadczenia w administrowaniu systemem Unix / Linux. Innymi słowy, rozwiązania wymagające monitu powłoki lub pisania / uruchamiania skryptów powłoki (lub Perla w środowisku skryptów Androida) są bardzo mile widziane.
Rozwiązania polegające na napisaniu własnej aplikacji Java na Androida są dopuszczalne, o ile są wystarczająco szczegółowe, aby nowi twórcy Androida mogli wykonać przynajmniej część pracy, nie tracąc przy tym w 100%.
Rzeczy, których próbowałem:
Zabijanie procesów za pomocą Task Killera NIE działa - wracają albo natychmiast, albo po chwili. Prawdopodobnie poprzez zamierzenia, ale nie w 100% pewne.
Standardowe metody pozbycia się problemów GMaps (wyloguj się ze Współrzędnych / wyłącz GPS i lokalizator sieci). Wydaje się, że to bardzo pomaga, ALE uważam, że konieczność trwałego wyłączenia GPS / lokalizatora jest niedopuszczalna - np. Nie pozwala mi na uruchamianie aplikacji Locale lub zadań Tasker opartych na ustawieniach regionalnych.
Zatrzymaj przez Titanium Backup Pro. Wymaga to ponownego uruchomienia i ogólnie niezbyt przyjemnego.
Możliwe podejścia, o których myślałem (ale nie wiem jak to zrobić) to:
Jakoś W PEŁNI wyeliminuj (wyłącz) wszystkie Intencje zarejestrowane przez Google Maps, gdy nie są potrzebne.
Problemy: Po pierwsze, nie wiem, czego WSZYSTKIE intencje używają Mapy Google.
Po drugie, jedynym praktycznym sposobem na osiągnięcie tego, że znam to Autostarts aplikacja, która nie jest praktycznym rozwiązaniem - to trwa ~ 5-10 minut, aby znaleźć i ponownie włączyć wszystkie zamiary Jestem świadomy (Autostarts jest bardzo słaba na os -aplikacja zarządzania intencjami - jest skoncentrowana na konkretnych intencjach), nie wspominając o możliwych intencjach, o których Autostarty NIE wiedzą (to czarna skrzynka, nie wiem, które intencje są pominięte, jeśli w ogóle).
Masz skrypt, który zmieni nazwę JAR-ów lub cokolwiek innego pliki wykonywalne w Androidzie (cały .APK?) Od say
GoogleMaps.apk
doGoogleMaps.disabled.apk
i back.Problem: Nie wiem, czy można to zrobić na zrootowanym Froyo. Ponadto Mapy Google zostały wstępnie zainstalowane na DroidX, więc czy zmiana nazwy miałaby TYLKO wpływ na aktualizację, ale nie na oryginalną aplikację?
Przygotuj skrypt, który przejdzie do APK i zmień nazwę / przenieś / opróżnij plik manifestu, aby usunąć wszelkie zamiary dotyczące tej aplikacji.
Problem: Czy wymagałoby to ponownej kompilacji? To zdecydowanie wymaga ponownego uruchomienia, co jest minusem