Производители смартфонов на Андроид для тестирования устройств внедряют и используют инженерное меню. В нём содержатся всевозможные тесты и настройки аппарата, недоступные рядовым пользователям. Однако сегодня, зная USSD-команду или скачав приложение с PlayMarket, зайти в инженерное меню может любой желающий.
Зачем нужно скрытое инженерное меню в Андроид
Инженерное меню (Engineering Mode) – по своей сути скрытое приложение, которое используют разработчики для тестирования и установки оптимальных параметров мобильного телефона или планшета. Специалисты проверяют работу датчиков и при необходимости вносят корректировки в функционирование системных компонентов.
Работая с техническим меню Android, будьте осторожны - изменение части функций приводит к сбоям в работе устройства.
Как войти в меню
Чтобы открыть меню, установленное производителем, активируйте на смартфоне панель набора номера и введите одну из представленных в таблице USSD-команд. После ввода команды цифры пропадут с экрана, а вместо них откроется меню.
Таблица: комбинации для запуска Engineering Mode
Видео: как работать в Engineer Mode
Если код не действует, и стандартным способом запустить сервисное меню не удаётся, используйте сторонние приложения - загрузить их можно на PlayMarket. Рекомендуемые программы - «Запуск инженерного меню МТК», Mobileuncle Tools, Shortcut Master.
Меню производителей не работает на некоторых моделях устройств с Android 4.2 JellyBean (x.x.1, x.x.2), а также на Android 5.1 Lollipop. Также недействительно меню при установленной прошивке Cyanogen Mod. В Android 4.4.2 при перезагрузке сбрасываются изменения, произведённые в приложении.
«Запуск инженерного меню МТК»
Приложение позволяет открыть и настроить инженерное меню без набора цифровых команд. Корректно работает на процессорах MediaTek (МТ6577, МТ6589 и др.) и системами Android 2.x, 3.x, 4.x, 5.x. По отзывам пользователей программа успешно выполняет свои функции, но после перезагрузки смартфона происходит сброс настроек, сделанных с помощью приложения.
Программа Mobileuncle Tools
Функционал приложения аналогичен предыдущему, но, помимо доступа к инженерному меню, пользователь получает возможность просмотреть информацию об экране, сенсоре и памяти устройства, а также обновить прошивку, восстановить IMEI-номер и улучшить GPS. Для стабильного функционирования необходимы root-права.
Утилита Shortcut Master
Программа Shortcut Master предназначена для работы с ярлыками и системными приложениями: создания, поиска, удаления. Прямой функции входа в инженерное меню в ней нет. Но с её помощью вы можете просмотреть список секретных команд, действующих на вашем устройстве. А нажав на название команды, увидите выпадающее меню, в котором будет пункт «выполнить». Удобно, и не требует лишних действий.
Root-права для доступа в инженерное меню
Чтобы попасть в сервисное меню на некоторых версиях Андроид, пользователь должен обладать правами суперпользователя (root). Получить права можно с помощью специализированных приложений: Farmaroot, UniversalAndRoot, Romaster SU и других. Чтобы получить Root-доступ к устройству с помощью Farmaroot:
- Установите и запустите в программу. Ссылка в Google Play: https://play.google.com/store/apps/details?id=com.farmaapps.filemanager&hl=ru.
- Если приложение поддерживает установку root-прав на ваше устройство, то на экране вы увидите список возможных действий, среди них – «Получить root». Выберите этот пункт.
- Выберите один из предустановленных методов получения root.
- Программа начнёт установку.
- По окончании процедуры вы увидите сообщение об успешной установке root доступа.
Возможные проблемы и решения:
- приложение закрылось на середине установки - перезапустите аппарат и попробуйте снова;
- root-права не установились - попробуйте установить иным методом (выберите новый эксплоит в приложении).
Что можно настроить в меню
Внешний вид инженерного режима и возможности регулировки параметров могут различаться в зависимости от модели планшета или смартфона. В меню пользователи чаще всего регулируют звук, меняют настройки камеры и используют режим восстановления. Параметры для корректировки и порядок действий приведены ниже. Будьте внимательны - названия пунктов меню могут различаться в различных моделях устройств! Вы действуете на свой страх и риск.
Аудио: усилить уровень громкости
Если ваш телефон звонит недостаточно громко, в инженерном меню найдите раздел Audio и перейдите в LoudSpeaker Mode. Выберите пункт Ring. Для каждого уровня сигнала (level 1–6) смените значения - выставьте цифры по возрастанию, от 120 до 200. Увеличьте значение в пункте Max. Vol - максимальное 200. Нажмите кнопку SET для сохранения настроек.
Аудио: повысить громкость телефонного разговора
Чтобы усилить тон динамика для разговоров, в разделе сервисного меню Audio выберите Normal mode и откройте пункт Sph. Установите значения для уровней сигнала (level 1–6) от 100 до 150, а цифру у Max. Vol. – до 160.
Для усиления чувствительности микрофона пройдите в меню Audio - Normal mode - Mic. Для каждого уровня присвойте одинаковые значения чувствительности микрофона, к примеру, 200. Нажмите кнопку SET, выполните перезагрузку и проверьте, стал ли собеседник слышать вас лучше.
Видео: регулировка параметров звука в инженерном меню
Батарея: отключение неиспользуемых частот
Смартфоны быстро расходуют ресурс батареи на работу приложений, поддержание сотовой связи и сетевые подключения. С помощью инженерного меню вы можете увеличить длительность работы аккумулятора.
Современные устройства сканируют несколько GSM-частот - 900/1800 МГц и 850/1900 МГц. В России действует пара 900/1800 МГц, а значит, нет необходимости сканировать сеть на других частотах. Радиосигнал для второй пары можно отключить, что существенно сэкономит уровень заряда.
В Engineer Mode откройте пункт Band Mode. Отключите неиспользуемые частоты, сняв галочки с соответствующих пунктов - PCS1900 и GSM850. Если аппарат поддерживает две сим-карты, откройте поочерёдно пункты SIM1 и SIM2 и выполните указанные действия в каждом. Нажмите кнопку SET, чтобы сохранить настройки.
Если смартфон и сим-карта работают в 3G-сетях, отключите сети, которые не используются в России: WCDMA-PCS 1900, WCDMA-800, WCDMA-CLR-850. Вновь нажмите кнопку SET.
Включить сканирование отключённых сетей можно, вернувшись в то же меню и установив галочки.
Камера: настройки фото и видео
По умолчанию аппараты на Android сохраняют снимки в формате JPEG. Между тем фотографы предпочитают снимать и обрабатывать материал в RAW, чтобы получить больше возможностей для редактирования. Техническое меню позволяет выбрать желаемый формат снимков.
В меню найдите пункт Camera и выберите Capture Type (Тип снимка). Установите формат фото - RAW и нажмите SET. Также в меню Camera можно увеличить размер снимков, установить значение ISO, включить съёмку в HDR для более высокой детализации фото, задать частоту кадров для видео. После изменения каждого параметра не забывайте нажимать SET для сохранения настроек.
Режим восстановления
Recovery Mode (Режим восстановления) – аналог Bios на компьютере, позволяет управлять устройством без входа в систему Android. Возможности режима восстановления:
- обнуление настроек до стандартных;
- обновление прошивки;
- доступ к root-правам;
- создание резервной копии ОС;
- удаление персональных данных из системы.
В Recovery Mode не выполняйте действие, если не уверены в том, к чему оно приведёт. Некоторые команды могут навредить устройству и системе.
Если настройки не сохранились
Пользователи, получившие доступ к техническому меню, жалуются на то, что изменённые в нём параметры не активируются либо сбрасываются при перезапуске аппарата.
Для ввода в действие настроек после смены параметров делайте тап на кнопку SET внизу экрана. Если параметры сбрасываются после перезагрузки устройства, попробуйте зайти в техническое меню не через приложение, а с помощью цифровой команды.
Коды сервиса аппаратов на Андроид
Помимо технического меню, управлять функционалом смартфонов на Android позволяют секретные USSD-коды - сочетания цифр и символов, набрав которые пользователь выполняет действие. Секретные коды для разных устройств приведены в таблице.
Таблица: перечень секретных команд для Android
Если по какой-то причине сервисный код не сработал, не расстраивайтесь - установите и запустите приложение Secret Codes (Ссылка в Google Play: https://play.google.com/store/apps/details?id=fr.simon.marquis.secretcodes&hl=ru).
Программа проанализирует действующие в устройстве комбинации и предложит вам список. Активировать комбинацию можно прямо в приложении одним нажатием на название.
Итак, давайте сегодня создадим простое меню, для приложения на Android. Создадим новый проект. Назовем его Mymenu, нажмем next. Выберем Empty Activity. Нажмем finish.
Система Android studio подготовит нам новый проект, перейдем в gradle скрипы. В Build gradle, добавим новую имплементацию. Нам понадобятся пакет
implementation "com.android.support:design:26.0.0-beta1"
По крайней мере, в моем проекте. Нажмем синхронизировать проект.
Пункты меню
Перейдем в папку Res и создадим в ней новую Andriod ресурсную папку с ресурсным типом - меню. В ней же, создадим новый ресурс файл меню. Имя файлу присвоим, как и имя папки - menu.
На наше основное меню перетаскиванием, добавим MenuItem в количестве 3 штук.
В файле strings.xml напишем новые название, для пунктов меню, создав дополнительные строковые значение для них.
Пусть item1 будет Пункт 1, item2 Пункт 2, и item3 пусть будет Выход.
Пункт 1
Пункт 2
Выход
В текстовом варианте menu.xml присвоим названия из strings.xml для наших пунктов. Также для каждого item мы добавим, Android:id с именем action1, action2,action3,
для взаимодействия с данными пунктами. Действие номер 1 будет отвечать за что-то, какая то реакция, нажатие пункта Action 2, соответственно, будет отвечать за другие действие, Action 3 будет отвечать за выход из приложения.
В файле MainActivity напишем несколько функций для работы с меню:
onCreateOptionsMenu
@Override
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.menu, menu);
return true;
}
onOptionsItemSelected
@Override
public boolean onOptionsItemSelected(MenuItem item){
int id = item.getItemId();
switch (id){
case R.id.action1:
txt.setText(R.string.item1);
return true;
case R.id.action2:
txt.setText(R.string.item2);
return true;
case R.id.action3:
txt.setText(R.string.item3);
finish();
return true;
}
return super.onOptionsItemSelected(item);
}
Объявим переменную типа TextView txt, и свяжем ее с элементом TextView, в onCreate через
txt=(TextView)findViewById(R.id.txt),
в макете activity_main.xml, добавив ему
android:id="@+id/txt"
для отображения текста.
Запустим в эмуляторе наше приложение. Как видим, появляются пункты меню, при нажатии на значение Пункт 1 или 2, текст меняется на Пункт 1 или Пункт 2, при нажатии на кнопку Выход появляется текст Выход и приложение закрывается.
Верстка меню
Кажется, все хорошо. Однако, как всегда в Android Studio данное меню будет работать только на эмуляторе, и поэтому добавим в файл styles.xml небольшой код, а перед этим в AndroidManifest.xml изменим
android:theme="@style/AppTheme"
android:theme="@style/AppTheme.NoActionBar"
который говорит о том, что новый стиль без ActionBar. Также в MainActivity onCreate внесем переменную toolbar c типом ToolBar. Определим ее через toolbar = (Toolbar)findViewById(R.id.toolbar), и подключим поддержку setSupportActionBar(toolbar).
В макет activity_main.xml перед TextView добавим следующий код:
Подключим эти виджеты в импорт нашего приложения.
import android.support.v7.widget.Toolbar;
Нажмем Alt+Enter, и у нас добавится, обновится импорт нашего приложения. Возможно, придется сделать несколько раз для подключения виджета. Нажмем Сохранить.
Теперь мы можем запустить наше приложение в эмуляторе. Все выглядит точно также, но без данного кода, наше приложение не может быть установлено на реальное устройство. Давайте сделаем подписанное приложение.
Есть множество скрытых функций, которые могут быть весьма полезны. System UI Tuner - одна из них. После активации этого меню пользователь получает больше возможностей в плане кастомизации интерфейса Android. В одной из статей на Трешбоксе мы уже .
Некоторые разработчики уже приспособили System UI Tuner под нужды обычных пользователей. Например, которое было доступно и на предыдущих версиях Android, использует UI Tuner для добавления кастомных кнопок в меню быстрых действий, которое выезжает сверху вместе со «шторкой» уведомлений. Самое крутое заключается в том, что на Android 6.0 Marshmallow использование Custom Quick Settings не требует root-доступа.
Как это работает
В первую очередь, вам необходимо активировать то самое меню System UI Tuner, которое работает только на стабильной версии Android 6.0 Marshmallow. Некоторые превью-версии Android M не получили этой функции. Об активации UI Tuner можно прочесть в нашей соответствующей статье, но если вы не хотите переходить куда-то из этого материала, то: полностью откройте верхнюю «шторку» с быстрыми действиями и уведомлениями, зажмите на 5–7 секунд кнопку с шестеренкой, которая ведет в меню настроек - все, System UI Tuner активирован. Теперь в общем меню настроек Android появился соответствующий пункт, но вам он практически не понадобится. Приложение Custom Quick Settings сделает все за вас.
Далее установите само приложение Custom Quick Settings, которое доступно бесплатно, но с рекламой. Она удаляется через внутренние покупки - 99 рублей.
После установки приложения кастомную кнопку с действием в верхнем меню можно добавить парой действий. По нажатию на плюс Custom Quick Settings можно выбрать название кнопки, ее действие - открытие любой заданной веб-страницы, запуск приложения, переход в какое-то подменю настроек или активация модуля. Для кнопки можно выбирать иконку (всего доступно 1 200 штук стандартных; поддерживаются кастомные), а также дополнительное действие по долгому нажатию. Например, можно создать быструю ссылку на Трешбокс, а по долгому нажатию будет открываться или любой другой сайт - очень удобная вещь.
Возможности
Также можно сделать быстрое действие, которое подключит устройство к определенному Wi-Fi, присутствует в списке сохраненных. Кастомные кнопки с запуском приложений будут очень полезны - отпадает необходимость в переходе на рабочий стол для открытия нужной программы.
Возможности в плане создания быстрых действий очень ограничены - можно только задавать подключение к определенной сети Wi-Fi или устройству с Bluetooth. Здесь все упирается в функционал System UI Tuner.
В Pro-версии приложения доступно добавление функциональных ярлыков с быстрыми действиями. Есть поддержка IFTTT. Стоит отметить, что все кастомные кнопки, добавленные с помощью Custom Quick Settings, не работают на экране блокировки - они просто не отображаются в «шторке», что довольно ожидаемо.
Напомним, все эти возможности также доступны на Android 5.0 / 5.1, но для этого необходимы . Разработчик отмечает, что Custom Quick Settings не использует дополнительную энергию аккумулятора - программа запускается единожды при загрузке системы, а кастомные кнопки обновляются только после того, как это сделает пользователь.
Приятно видеть, как операционная система Android с каждой новой версией перенимает функции, которые ранее были доступны только с root-правами. Надеемся, что компания Google не удалит функцию System UI Tuner в будущем обновлении Android 6.0.1 или 6.1. Кстати, вы уже обновились до Marshmallow?
Первого месяца обучения. Рассмотрим работу с меню глубже. Будут рассмотрены как старые устройства под Android 2.3, так и новые телефоны на Android 4.0.
Меню выбора опций (Options Menu)
За меню отвечает класс android.view.Menu
. Каждая активность связана с одним объектом меню. Само меню содержит пункты меню (класс android.view.MenuItem
) и подменю (класс android.view.SubMenu
).
При нажатии кнопки Menu
на старых телефонах появляется набор пунктов меню, прикрепляемый к активности. Меню может содержать значки. Такое меню может содержать шесть пунктов (как правило). При наличии более шести пунктов используется расширенное меню - в этом случае вместо шестого пункта появляется пункт Опции
(More). При нажатии данного пункта показывается расширенное меню со списком пунктов, которые не поместились в основной части меню выбора опций.
Когда меню открывается впервые, Android вызывает метод onCreateOptionsMenu()
, передавая в качестве параметра объект Menu
. Меню можно создавать в виде ресурсов в XML-файле или использовать метод add()
.
В стандартном проекте при выборе обычного шаблона уже есть заготовка для меню из одного пункта Settings
и вызов метода для меню (вы об этом уже знаете).
Создание меню при помощи ресурсов
Рассмотрим работу с меню через ресурсы. Для создания меню используются ресурсы, которые должны храниться в XML-файле. Сам файл должен находиться в папке res/menu/
вашего проекта. Меню состоит из следующих элементов: