- Управляем автономным режимом (Airplane Mode)
- Открываем окно настроек для автономного режима
- Отслеживаем изменение автономного режима (Kotlin)
- Android: How to activate the airplane or flight mode
- Android airplane mode settings
- Android airplane mode settings
- Переключить режим самолета в Android
- ОТВЕТЫ
- Ответ 1
- Ответ 2
- Ответ 3
- Работает для всех версий API.
- Ответ 4
- Ответ 5
- Ответ 6
- Ответ 7
- Ответ 8
- Новые глобальные настройки
- Ответ 9
- Ответ 10
Управляем автономным режимом (Airplane Mode)
Если по каким-то причинам вам нужно программно управлять автономным режимом (Airplane Mode) из своего приложения, не заставляя пользователя лезть в настройки телефона, то эта статья для вас.
Так как мы собираемся менять системные настройки, то сначала необходимо установить необходимые разрешения в манифесте:
Добавим на форму текстовую метку и ToggleButton. Осталось написать код:
Обратите внимание, что при изменении автономного режима, мы посылаем соответствующее сообщение системе. Получив такое сообщение, Android выведет/спрячет значок самолёта в строке состояния.
Открываем окно настроек для автономного режима
Так как, начиная с Android 4.2, мы не можем программно включить режим автономного режима, то остаётся только один вариант — показать окно настроек, чтобы пользователь сам отметил флажком требуемую настройку:
Причина, по которой нужно пользоваться автономным режимом в самолёте.
Отслеживаем изменение автономного режима (Kotlin)
В примере выше мы отсылали сообщение системе об изменении автономного режима. Так как мы теперь не можем менять режим программно, то можем отслеживать это изменение при помощи приёма широковещательного приёмника.
Пример будет работать, пока оно видимо. Поэтому менять режим следует через шторку. Там как правило есть значок автономного режима. Так как шторка не закрывает полностью приложение и оно не уходит на задний план, то мы можем получить сообщение от системы о смене режима.
Источник
Android: How to activate the airplane or flight mode
A useful feature of Android seldom used by mobile device owners is the ability to switch on the airplane or flight mode. When activated, this function will prevent any Wi-Fi, mobile network, Bluetooth, or other radio connections from being active—like Near-field communication (NFC), for instance. To determine what type of radio connections will be deactivated by the airplane or flight mode, run “adb shell settings get global airplane_mode_radios” via the Android Debug Bridge (ADB) against any Android 4.1.2 plus mobile device.
There are many usage of the airplane or flight mode—one of which is when Android mobile device owners switch it on right before bedtime to ensure that strong radio waves emitting from their mobile devices are not “cooking” their brain whilst they slept. (For health reasons, consumers should avoid buying any type of mobile device if it does not provide an option to toggle the airplane or flight mode.) This function is also useful during meeting when device owners do not wish to be disturbed or startled by sudden, annoying advertisements, or notifications propagated automatically through an active Wi-Fi or mobile network connection on the mobile device. It’s also the first thing travellers would do once they boarded an airplane. It’s no wonder that this wonderful function has been incorporated into practically all mobile operating systems—Android included.
For Android, this function was easily toggled from Android 2.1 (Eclair) to Android 4.1 (Jellybean). As such, Android developers created a plethora of applications just to cater for this functionality. To toggle airplane or flight mode:
To check if the airplane or flight mode has been activated:
Did you note the “deprecation” and “NewApi” notations above? The “deprecation” notation indicates that the “Settings.System.AIRPLANE_MODE_ON” is deprecated as of Android API level 17 (codename Jellybean major release 1). Whilst the “NewApi” notation indicates that the constant “AIRPLANE_MODE_ON” has moved to the secured “Settings.Global” area of Android from API 17 onwards. Google cited security as the reason for the move. Really? The real reason may have less to do with security and more with tracking and ads distribution to mobile Android devices.
Since the constant was moved to the secured area of Android that only system applications or applications running on rooted devices can access, Android developers were no longer able to provide the same functionality on unrooted Android 17 plus mobile platforms. A common advice developers gave to their user base was “Root your device!“. Of course, not every user is equipped with the technical knowledge and skill to accomplish such task. Also, rooting an Android mobile device is not for the faint-hearted as users could potentially “brick” their Android mobile device and render it unusable—not to mention void the warranty of their mobile device with the manufacturer. So, despite attempts to inform their Android customers of the changes made by Google, many developers suddenly find themselves amidst shrinking sales and bad ratings. Once again, Android developers were being fleeced.
For those users who were lucky enough to have their Android mobile devices rooted, the airplane or flight mode function was again available via toggling of a button within an Android application. To toggle airplane or flight mode from API 17 onwards on rooted Android devices:
Note: the isRooted method above is not listed here as Android developers have different ways of checking for root status of Android mobile devices.
To execute the commands via the “su” binary:
The commands above are relatively straightforward. The first command «settings put global airplane_mode_on” sets the constant “airplane_mode_on” by passing in a true or false state. Whilst the second command “am broadcast -a android.intent.action.AIRPLANE_MODE –ez state” fires off a broadcast via Android’s activity manager (am) with an intent to set the constant “airplane_mode_on” by passing in a true or false state. Of course, both commands need to be executed with root privilege via the “su” binary.
For users who can’t root their Android mobile devices, Android applications redirect them to the “Settings.ACTION_AIRPLANE_MODE_SETTINGS” screen so users can manually toggle the airplane or flight mode function. Of course, this workaround is not ideal, but at least users on Android 4.1.2 plus mobile devices can still activate the airplane or flight mode function—albeilt manually and with a few extra steps.
To date, Android 7—codename Nougat—has not provided a public API method to automatically toggle the airplane or flight mode function for non-rooted Android mobile devices. So, the Android platform has become increasingly more fragmented. Let’s hope Google can implement a public method soon! Else, Android developers might move en masse to the next competing mobile platform that is more open for development.
Copyright © 2016. All rights reserved.
Unauthorised reproduction, in whole or in parts, will be prosecuted to the maximum extent under law.
Android is a trademark of Google LLC.
Bluetooth word mark and logos are registered trademarks owned by Bluetooth SIG, Inc..
Источник
Android airplane mode settings
Для функционирования программы необходимы права root пользователя.
Краткое описание:
Приложение позволяет переключать Режим Полета в Android 4.2 сторонним приложениям также как они это делали в версиях до 4.2.
Описание:
Приложение позволяет переключать Режим Полета в Android 4.2 сторонним приложениям также как они это делали в версиях до 4.2.
Имеет настраиваемую задержку переключения Режима Полета, по умолчанию 5 секунд.
Поддерживает большинство приложений, которые переключали Режим Полета до Android 4.2.
Русский интерфейс: Неизвестно
Скачать: версия: 1.1.10AirplaneModeHelper1110.apk ( 109.61 КБ )
Сообщение отредактировал Technik — 01.11.13, 19:38
Наконецто. Спасибо :yes2:
Сообщение отредактировал PerVertEx — 30.04.13, 11:16
Добавил новую версию 1.1.8.
Изменения:
— Новая иконка и графика в Google Play (спасибо Raitis Linde)
— незначительные исправления
На форуме появился автор — davikovs
Все плюсы и вопросы ему!
Сообщение отредактировал Technik — 05.06.13, 08:08
Источник
Android airplane mode settings
Краткое описание:
Переключение в режим полета с помощью ярлыка (no root).
Описание:
Features:
* Toggle airplane mode via a home screen shortcut (One click only)
* Tiny memory footprint
* NO root required
* Completely free
Airplane Mode PRO for these additional features:
• Support for automation and third-party launchers
• Separate shortcuts for toggling, enabling and disabling
• Enable when a certain battery percentage is reached
• Enable when a certain battery temperature is reached
• Enable airplane mode while a specific app is running
• Toggle airplane mode via a notification
• Toggle airplane mode when a charger is connected or disconnected
• Enable and disable at specific times
(On Android 4.2+, all toggles require the screen to be on due to system limitations)
Требуется Android: 4.0.х
Русский интерфейс: Нет
Скачать: версия: 1.0.7Airplane Mode Shortcut_v1.0.7.apk ( 74.91 КБ )
Airplane Mode Pro.ver.1.0.7-pro.build.8.apk ( 87.51 КБ )
Сообщение отредактировал vadeus — 21.08.17, 12:43
Источник
Переключить режим самолета в Android
Я сделал ошибку? Он не работает.
ОТВЕТЫ
Ответ 1
Этот ответ содержит код, необходимый для этого. Также убедитесь, что у вас есть разрешение WRITE_SETTINGS .
Ответ 2
На корневом устройстве можно использовать следующее:
Из командной строки вы можете включить/выключить режим полета следующим образом:
Это работает с android 4.4.2 +
Ответ 3
Работает для всех версий API.
- switch authomaticaly для API = 17
нет root, нет разрешения на системном уровне!
в AndroidManifest.xml добавить разрешение:
Ответ 4
Примечание: NarendraR указало, что это не работает в последней версии.
Я думаю, что «Settings.System.AIRPLANE_MODE_ON» устарела, я использую:
Я надеюсь, что это поможет кому-то.
Ответ 5
Как упоминал @eggyal, переключение режима полета не может быть выполнено с версии 4.2 и выше.
Но что мы можем сделать, это включить каждую из беспроводных сервисов:
Wifi можно управлять с помощью WifiService
getSystemService (Context.WIFI_SERVICE). Bluetooth можно управлять с помощью BluetoothAdapter- getSystemService (Context.BLUETOOTH_SERVICE).
После некоторого исследования я обнаружил, что с помощью Java Reflection вы все равно можете управлять Android-радио (Wi-Fi, сеть, Bluetooth), что в основном режим полета — это переключение состояния Bluetooth, Wi-Fi и сетей.
Таким образом, контролируя радиостанции, вы можете создать собственный режим полета.
ПРЕДУПРЕЖДЕНИЕ. Использование Reflection может быть неудачно на некоторых устройствах (зависит от реализации производителями классов).
Этот пример кода переключает мобильную сеть:
Ответ 6
После lollipop вы можете использовать метод ниже, но он скрыт api, а вашему приложению требуется разрешение на уровне системы.
Ответ 7
здесь перед каждым настройком используйте android.provider:
Ответ 8
Обратите внимание, что, как описано в Android 4.2 API (выделено мной):
Новые глобальные настройки
Системные настройки были обновлены для поддержки нескольких пользователей с добавлением Settings.Global . Этот набор настроек похож на параметры Settings.Secure , поскольку они доступны только для чтения, но применяются глобально во всех пользовательских пространствах на устройстве.
Несколько существующих настроек были перемещены здесь из Settings.System или Settings.Secure . Если ваше приложение в настоящее время вносит изменения в настройки, ранее определенные в Settings.System (например, AIRPLANE_MODE_ON ), то вы должны ожидать, что это не будет работать на устройстве под управлением Android 4.2 или выше, если эти настройки были перенесены на Settings.Global . Вы можете продолжать читать настройки, которые находятся в Settings.Global , но , потому что настройки больше не считаются безопасными для приложений, для этого не будет тихо, и система будет записывать предупреждение в системный журнал при запуске вашего приложения на Android 4.2 или новее.
Ответ 9
Это работает для меня
Но вам нужны системные разрешения, хотя
Ответ 10
Я нашел это обходное решение для 17+, если вы хотите отключить интернет, это сработает.
Источник