Измените AIRPLANE_MODE_ON на Android 4.2 (и выше)

Так как версия sdk 4.2 кажется невозможной для изменения режима самолета на устройствах, поскольку Google переместил этот параметр в Settings.Global, который доступен только для чтения.

Кто-нибудь мог обойти это без и своего рода укоренения?

Основная функция моих приложений - включить режим самолета, когда экран выключен, и это перестало работать с 4.2.

Просто хочу дважды проверить, что моя оценка правильная, и что мое приложение не работает, начиная с android 4.2 и выше.

Литература: http://developer.android.com/reference/android/provider/Settings.Global.html#AIRPLANE_MODE_ON

Ответ 1

Я знаю, что вы явно запрашиваете решение без укоренения, но если у вас есть корневое устройство, есть хотя бы официальное решение для перемещения вашего приложения в папку /system/app. Тогда можно записать в Settings.Global:

Settings.Global.putInt(context.getContentResolver(), Global.AIRPLANE_MODE_ON, mode ? 1 : 0);

Посмотрите, как переключить режим самолета для 4.2 и как переместить приложение в /system/app здесь. Я использую это для моего переключателя виджета Mini Status (ссылка на исходный код).

Ответ 2

Просто хочу дважды проверить, что моя оценка правильная и что мое приложение мертво, начиная с android 4.2 и выше.

Да. Или, если это так, если есть возможность изменить этот параметр на заднем плане, он представляет собой дыру в безопасности, которая в конечном итоге будет закрыта, так же, как включение/отключение ограничения GPS, которое существует в течение 3 лет.