Skocz do zawartości

Potrzebujemy Ciebie! Weź udział w rekrutacji do redakcji Android.com.pl!

paranoid1969

kolejność uruchamiania w autostart

Rozwiązany

paranoid1969   
Otrzymana reputacja: 1
paranoid1969

Czy da się jakoś wpłynąć na kolejność uruchamiania aplikacji startujących wraz z restartem telefonu?
Chodzi mi o to, że mam (i chcę mieć) sporo aplikacji w fonie i o ile mogę cierpliwie poczekać, aż uruchomią mi się wszystkie widgety, to już opóźnienie w starcie obsługi WiFi skutkuje tym, że jeśli w miarę szybko odblokuję telefon po restarcie, to muszę gasić okienko pytające o zgodę na użycie sieciowej transmisji danych (bo WiFi nie skończyło się uruchamiać). Dobrze więc by było, żebym mógł decydować w jakiej kolejności system będzie startować konkretne programy i usługi.

Udostępnij link do tego posta


Odnośnik do posta
Udostępnij na stronach
piskorfa   
Otrzymana reputacja: 757
piskorfa

@paranoid1969 Żeby coś takiego zrobić, najpierw musiałbyś zablokować autouruchamianie się aplikacji, a to wymaga root'a w urządzeniu.

Później mógłbyś skorzystać np. z https://play.google.com/store/search?q=autostart manager lub https://play.google.com/store/apps/details?id=com.autostart żeby je w odpowiedniej kolejności uruchomić.

Udostępnij link do tego posta


Odnośnik do posta
Udostępnij na stronach
paranoid1969   
Otrzymana reputacja: 1
paranoid1969

@piskorfa Mam roota i "nie zawaham się go użyć". Z wymienionych przez Ciebie apek druga (AutoStart - No root) wydaje się częściowo spełniać moje oczekiwania bo jak rozumiem tworzy się w niej listę uruchamianych aplikacji w kolejności dodawania apek do listy (a nawet ma parametry "start delay" i "next app delay". Co do pierwszej wymienionej przez Ciebie aplikacji to nie znajduję w Google Play aplikacji o nazwie "Autostart Manager", więc może popełniłeś jakiś błąd podając jej nazwę. Jeśli chodziło o "Startup Manager" to go mam zainstalowanego i używam do wyłączenia z listy autostartu kilkunastu aplikacji. Mi jednak zależało by na innym rozwiązaniu - otóż jak zakładam, gdzieś w systemie znajduje się taka modyfikowalna lista aplikacji do uruchomienia podczas startu systemu - tylko nie wiem gdzie i nie wiem czy jej format zapisu pozwalał by na zamianę kolejności poszczególnych rekordów. Obawiam się, że zastosowanie podanej przez Ciebie metody - tzn. wycięcia z autostartu wszystkich aplikacji i procesów systemowych i potem dodanie ich od nowa mogło by spowodować dodatkowe nieprzewidywalne konsekwencje, bo przecież ktoś tam kombinował w jakiej kolejności te systemowe procesy powinny się uruchamiać - a ja nie mam do tego wglądu aby móc tą kolejność z grubsza odtworzyć na nowo. Tak więc wolał bym modyfikować "firmową" listę kolejności uruchamiania autostartu niż tworzyć własną od nowa.

Udostępnij link do tego posta


Odnośnik do posta
Udostępnij na stronach
piskorfa   
Otrzymana reputacja: 757
piskorfa

@paranoid1969 Nie ma w androidzie listy uruchamiania. Aplikacje przy instalacji informują system o uprawnieniach, między innymi receiverach, czyli kawałkach kodu, które powodują, że apka jest wzbudzana i coś wykonuje.

Dane o uprawnieniach aplikacji zapisywane są w pliku /data/system/packages.xml

Jedno z takich uprawnień to BOOT_COMPLETED, który jest rozgłaszany przez system w trakcie uruchamiania telefonu i aplikacje na niego reagują.

To w dużym skrócie z mojego nieprogramistycznego punktu widzenia :)

Mieszanie z kolejnością wpisów w pliku xml według mnie nic nie da, a na pewno nie da się tam dodać informacji o opóźnieniu, więc pozostaje sposób, który przedstawiłem w poprzednim poście.

Aplikacja, do której podmieniłem link to https://play.google.com/store/apps/details?id=com.atasoglou.autostartandstay

Autostart Manager to zapytanie, które zadałem w sklepie, żeby wyszukać aplikacje spełniające Twoje wymagania.

Absolutnie nie proponuję wyłączania uruchamiania wszystkich aplikacji systemowych jak leci. Tak o tym nie napisałem.

 

  • Lubię to! 1

Udostępnij link do tego posta


Odnośnik do posta
Udostępnij na stronach
paranoid1969   
Otrzymana reputacja: 1
paranoid1969

Bardzo dziękuję. Te informacje rozjaśniły mi w głowie. Czyli, jeśli dobrze zrozumiałem, na hasło "boot_completed"! wszystkie apki pchają się do tego by się uruchomić jednocześnie, co w praktyce pewnie jest niemożliwe choćby ze względu na to, że każdej zajmuje to trochę więcej lub trochę mniej czasu i jedynym sposobem, żeby wybrany przeze mnie proces (w tym przykładzie uruchomienie WiFi) miało fory w tym wyścigu jest wymuszenie opóźnienia uruchamiania mniej kluczowych (dla mnie) procesów na przykład o sekundę, a mogę to osiągnąć używając jednego ze wskazanych przez Ciebie programów. Dodam, że od lat używam Robota z elixir 2 i tam też można jako wyzwalacz użyć eventu "boot_completed" tylko wtedy musiał bym zadbać, żeby Robot wystartował jak najwcześniej :)  Jeszcze raz bardzo dziękuję za Twoją pomoc (piwo a nawet dżin z tonikiem) i mam nadzieję, że te informacje przydadzą się też innym forumowiczom.

  • Lubię to! 1

Udostępnij link do tego posta


Odnośnik do posta
Udostępnij na stronach
piskorfa   
Otrzymana reputacja: 757
piskorfa

Idealnie wszystko zrozumiałeś i w dodatku przystępnie opisałeś.

Udostępnij link do tego posta


Odnośnik do posta
Udostępnij na stronach

Żeby dodać komentarz, musisz założyć konto lub zalogować się

Tylko zarejestrowani użytkownicy mogą dodawać komentarze

Dodaj konto

Załóż nowe konto. To bardzo proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz już konto? Zaloguj się tutaj.

Zaloguj się teraz


  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×