2013-09-06 12 views
5

Co jakiś czas radio mojego telefonu z Androidem cicho ginie z powodu problemów z siecią. Na Nexusie 4 pokazuje pusty trójkąt, jak gdyby tam, gdzie nie ma usługi dostępne w tym obszarze. Na innych telefonach nawet tego nie robi. Wygląda na to, że sygnał jest w porządku.Restartuj programowo radio

W każdym razie, po tym jak radio zmarło w ciszy, żadne połączenie telefoniczne/wiadomość tekstowa/dane nie przechodzi w żadnym kierunku. Jedyną wskazówką, którą otrzymuję od Systemu, jest transmisja android.net.conn.CONNECTIVITY_CHANGE wystrzelona, ​​gdy sygnał zginie, a wifi nie jest połączone.

Jedyną rzeczą, która rozwiązuje problem, jest ponowne uruchomienie telefonu.

Wreszcie moja pytanie:

Czy ktoś wie jak ponownie uruchomić radio całkowicie za pomocą kodu?

To znaczy, jest to oddzielny obraz działający na oddzielnym procesorze. Musi być sposób na zrestartowanie komputera bez ponownego uruchamiania telefonu. Może jest coś, mogę wejść do Androida ROM. Używam tutaj CM i cieszę się, że mogę to załatać (ponownie).

Próbowałem naprawić, uruchamiając aplikację systemową, naciskając *#*#4636#*#* na dailer i zatrzymując radio i uruchamiając go ponownie. Ale to wcale nie pomogło.

Niedawno stworzyłem aplikację, która sprawdza radio za każdym razem, gdy zmienia się połączenie. Pokazuje proste powiadomienie, które mówi, że powinienem zrestartować mój telefon. [1]

Problemy reprodukowane na:

  • LG Nexus 4
  • Samsung ACE 2
  • stwardnienie Apple iPhone 4 *

Problemy nie reprodukowane na:

  • Apple iPhone 5

Wszystkie telefony działające w sieci Dialog.lk.

[1] https://github.com/felixb/network-checker

Odpowiedz

2

Tak, to jest możliwe, ale to będzie trudne do wykonania na urządzeniu bez głębokiego zrozumienia kodu komunikacyjnego modemu których istnieją różne wersje, a nawet, że będzie zależna jeśli system pozwoli Ci nawet wykonywać komunikację na urządzeniu.

Jedyne czego mam świadomość, że można w pełni manipulować na urządzeniu w tym czasie to Qualcomm (Qualcomm jest standardem w większości urządzeń, ale Samsung użył VIA w niektórych przypadkach, który jest zupełnie innym potworem, a nawet jeszcze inny mikroukład lub dwa), ale aby móc wykonać to, o co pytasz z chipsetem Qualcomm, muszą być spełnione następujące warunki:

  1. Urządzenie musi być zrootowane.
  2. Aplikacja musi mieć uprawnienia administratora.
  3. Systemowa pamięć ROM musi mieć możliwość umieszczenia radia komórkowego w trybie diagnostyki modemu.
  4. Urządzenie musi mieć odpowiednie uprawnienia, aby zezwolić na dostęp.

W tym momencie większość ludzi łączyłaby swój komputer z urządzeniem i manipulowała radiem komórkowym przy użyciu QPST, CDMAWare lub QXDM. Opcje dostępne dla tych użytkowników obejmują wszystko od manipulowania komórkowymi danymi subskrybenta do ponownego uruchomienia modemu komórkowego.

Ale w tym momencie sprawy stają się trudne, musisz mieć do nich dostęp od strony urządzenia, co w zależności od urządzenia, systemu operacyjnego i konfiguracji ... może nie być możliwe. możliwy.

Również aplikacja musi być w stanie komunikować się z radiem komórkowym za pomocą specjalnego protokołu, który powyższe aplikacje wykorzystują do komunikacji, co wymaga znajomości tej specyfikacji. Biała księga protokołu diagnostycznego Qualcomm porusza się w Internecie, jeśli wystarczająco się na nią postaracie.

Również po niezbyt zimnej stronie, jeśli aplikacja ma dostęp do radia ... tak samo jak każda inna aplikacja zrootowana (lub nawet nieskrócająca, jeśli nie ustawisz prawidłowo uprawnień urządzenia), co umożliwia rouge aplikacje mogą zmienić dane konfiguracyjne twojego radiotelefonu potencjalnie nawet zamurowując twoje urządzenie (które widziałem, jak ludzie używają aplikacji wymienionych powyżej).

Więc moja odpowiedź brzmi Tak, można to zrobić, chociaż:

  • W zależności od urządzenia może nie być w stanie, powinno być dobrze przygotowany do studiowania i rozwijania niezbędnych narzędzi do wykonywania co ty Chcemy zrobić
  • Nie istnieje przewodnik szybkiego uruchamiania.
  • Pamiętaj, że robisz to ze świadomością, że twoje urządzenie może zostać zamurowane albo przez pomyłkę w twoim kodowaniu, albo przez aplikację rouge.
  • Ponowne uruchomienie radia, jak to zrobić w menu urządzenia, nie może pomóc swój problem, może nadal wymagać ponownego uruchomienia urządzenia

Moja rada jest użycie znacznie łatwiejszy sposób i obejmują czasomierza z automatycznym restartem w bieżącej aplikacji, jest o wiele bezpieczniejsze, nie zamuruje twojego urządzenia i nie będziesz musiał zostać inżynierem sieci komórkowej, aby dowiedzieć się, jak to zrobić.

Twój zegar może zacząć odliczać, gdy radio zginie, i zapewnia opcję zatrzymania ponownego uruchomienia komputera, jeśli wykonasz coś ważnego, w przeciwnym razie uruchomi się ponownie i wszystko będzie gotowe, gdy osiągniesz połączenie w celu wykonania połączenia lub sprawdź swój e-mail.

Mam nadzieję, że udało mi się pomóc, chociaż wiem, że nie jest to odpowiedź, której pragnąłeś.

Uwaga boczna: jeśli możesz przejąć menu konfiguracji systemu Android z aplikacji zewnętrznej, możesz potencjalnie manipulować stanem radiowym przy użyciu tych samych metod, co w systemie Android ... ale odkryłeś, że ponowne uruchomienie radia w tej metodzie nie pomaga Twoja sytuacja. Android został tak zaprojektowany, aby zapobiegać takim manipulacjom, aby zapobiec przechwyceniu przez złośliwe aplikacje interfejsu użytkownika innych aplikacji i systemu.

1

Na urządzeniu zrootowanym można wydać komendę pkill dla wszystkich procesów uruchomionych jako radio użytkownika.Testowałem to na Oneplus 3. System wydaje się natychmiast restartować usługę:

pkill -u radio

Powiązane problemy