Как переключить режим полета на Android 4.2 и выше с помощью root?

Как известно, на Android 4.2 только системные приложения могут переключаться в режим полета. Но я думаю, что он должен быть доступен для корневых устройств. И я хочу внедрить его в мое приложение для корневых устройств с помощью Build.VERSION.SDK_INT> = 17. Как переключить режим самолета на корневые устройства с Android 4.2?

Solutions Collecting From Web of "Как переключить режим полета на Android 4.2 и выше с помощью root?"

В Android 4.2 есть новый «установочный» двоичный файл. Вы также можете использовать его без su, тогда вашему приложению требуется разрешение, необходимое для изменения этого параметра, объявленного в манифесте вашего приложения (которое будет WRITE_SECURE_SETTINGS для режима полета в 4.2 – которое предоставляется только Для приложений, установленных в системном разделе).

активировать

su settings put global airplane_mode_on 1 am broadcast -a android.intent.action.AIRPLANE_MODE --ez state true 

дезактивировать

 su settings put global airplane_mode_on 0 am broadcast -a android.intent.action.AIRPLANE_MODE --ez state false 

Для других версий Android и других настроек (режим полета можно активировать без корня до 4.2) вы можете использовать SQL-инъекции в settings.db

 su sqlite3 /data/data/com.android.providers.settings/databases/settings.db insert into global values(null, 'airplane_mode_on', 1); 

Замените «global» на «system» или «secure» и «airplane_mode_on» с помощью ключа нужной записи в таблице. Для некоторых настроек вам необходимо отправить определенные трансляции позже, см. Пример выше для режима полета.

Чтобы изучить ваши настройки.db, запустите это в приложении терминала:

 su sqlite3 /data/data/com.android.providers.settings/databases/settings.db .tables select * from global select * from secure select * from system