Jak wiadomo, w systemie Android 4.2 tylko aplikacje systemowe mogą przełączać tryb samolotowy. Ale myślę, że musi być dostępna dla urządzeń zrootowanych. I chcę wprowadzić go w mojej aplikacji dla zrootowanych urządzeń za pomocą Build.VERSION.SDK_INT> = 17. Jak przełączyć tryb samolotowy na zrootowane urządzenia z systemem Android 4.2?Jak włączyć tryb samolotowy na Androidzie 4.2 i nowszym przy użyciu roota?
Odpowiedz
Istnieje nowy plik binarny "ustawienia" w systemie Android 4.2 Możesz go również używać bez su, a twoja aplikacja potrzebuje uprawnień wymaganych do zmiany tego ustawienia zadeklarowanego w manifeście aplikacji (co byłoby WRITE_SECURE_SETTINGS dla trybu samolotowego w 4.2 - który jest przyznawany tylko aplikacjom zainstalowanym na partycji systemowej).
Aktywuj
su
settings put global airplane_mode_on 1
am broadcast -a android.intent.action.AIRPLANE_MODE --ez state true
Dezaktywacja
su
settings put global airplane_mode_on 0
am broadcast -a android.intent.action.AIRPLANE_MODE --ez state false
Dla innych wersjach android i innych ustawień (tryb samolotowy można aktywować bez korzenia przed 4.2) można użyć SQL wstrzykuje w settings.db
su
sqlite3 /data/data/com.android.providers.settings/databases/settings.db
insert into global values(null, 'airplane_mode_on', 1);
Zamień "globalne" na "system" lub "secure" i "airplane_mode_on" na klucz żądanego wpisu w tabeli. W przypadku niektórych ustawień należy później wysłać określone transmisje, patrz przykład powyżej dla trybu samolotowego.
Aby zbadać swoją settings.db uruchomić to w terminalu aplikacji:
su
sqlite3 /data/data/com.android.providers.settings/databases/settings.db
.tables
select * from global
select * from secure
select * from system
Nie jestem w 100% czysty ... Czy to oznacza, że nie ma możliwości legalnego przełączenia trybu samolotu na> = 4.2 za pośrednictwem interfejsu API bez zrootowania? – Marius
Tak, tak też mówią oryginalne pytania. (Twoja aplikacja nie może być aplikacją systemową bez systemu root lub samodzielnie rozwijającą/kompilującą oprogramowanie). – user1806772
powiązanych (choć niekoniecznie duplikat): http://stackoverflow.com/questions/13766909/android-how-to- enable-disable-flight-mode-on-android-4-2? lq = 1 –
Tak, to pytanie nie jest duplikatem. – BArtWell