Инженерное меню на Андроид – разбираемся в деталях. Создание меню Как сделать меню на андроиде

Когда то давно, лет 5 назад стремительно набирали популярность аппараты с операционной системой Android. Хорошее было время, мир выходил из кризиса, впереди было много интересного и на каждом аппарате была кнопка Меню.
Спустя 2 года парни из Android сообщили о том, что кнопка "меню" на корпусе аппарата теперь уже не модно и можно без неё. С тех пор каждый из нас (Гильдии разработчиков) знает, как вызвать меню на подавляющем большинстве андроид девайсов.
Кому то это покажется страшным баяном, пусть так, но на прошлой неделе мы потратили 2 часа своей жизни на то, чтобы это объяснить пользователю. Мириться с этим было нельзя, поэтому ниже привожу описание того, как вызвать функцию меню на андроид аппаратах.
Вот так выглядят механические кнопки меню на большинстве распространённых устройств:

Причём в большинстве случаев для вызова функции меню достаточно одного короткого касания. Однако, часто вызов меню может быть добавлен к кнопке выбора запущенных приложений. Выглядит она так:


В этом случае меню откроется только при долгом нажатии (так называемый лонг-клик)! То есть не просто ткнули пальцем, а ткнули и подержали . Многие говорят после этого Вау!

Владельцам планшетов советую обратить внимание на рабочую область экрана, именно там чаще всего находятся кнопки, в том числе и Меню.


Причём не всегда максимально справа, но выглядит эта кнопка именно так.
На свежих версиях Android OS кнопка меню выглядит так.

Статьи и Лайфхаки

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

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

Инструкция по изменению меню телефона

Для начала попробуем изучить руководство к мобильному устройству. Найти его можно обычно в комплекте телефона. Иногда такое руководство способно помочь. Открываем меню нашего мобильного аппарата и заходим в его настройки. Ищем пункт «Дисплей», а там – опцию по изменению вида меню. Выбираем понравившийся тип на собственное усмотрение.

К сожалению, не каждый способен разобраться в том, как поменять меню в телефоне предыдущим способом – тем более что иногда это попросту недоступно. В этом случае заходим в настройки (порой они могут называться параметрами) и ищем опцию «Темы». Изменяем тему оформления на свой вкус, выбрав в итоге ту, которая понравится нам больше всего. Кроме того, можно скачать тему из Интернета, не забыв указать модель своего сотового аппарата, и установить её. Рекомендуется проверять антивирусным обеспечением любые файлы, загруженные из сети.

Изменение вида меню на примере телефона фирмы Nokia

Как и в описанном выше способе, обратимся к инструкции, которой должен быть укомплектован наш мобильный аппарат. Если руководства нет, можно поискать его в сети Интернет. Там обязательно должны быть указаны действия, при помощи которых можно изменить вид меню. Существуют даже специальные сайты, где также можно скачать русскоязычные электронные инструкции к мобильным устройствам. Кроме того, там можно ознакомиться с мнениями о том, и найти массу прочей полезной информации.

Заходим в меню и ищем пункт «Настройки» («Функции», «Параметры»). Там же должна быть опция по изменению внешнего вида меню.Если мы пользуемся более современным аппаратом от Nokia, изменения могут происходить путём переключения между значками и списком.
Мы сможем также менять темы через панель управления, используя готовые предложения, либо те, которые скачаем из Интернета. Полезными для нас в этом случае окажутся русскоязычные ресурсы вроде Themes-Nokia, AllNokia и Theme.WorldNokia.

Подводя итоги, скажем, что сегодня каждый владелец мобильного аппарата сможет оформить его индивидуально, руководствуясь собственными предпочтениями.

Для чего нужно рутирование устройства Android и какие возможности оно даёт, известно достаточно большому числу пользователей, чего нельзя сказать о скрытом расширенном меню аппаратных настроек также называемым инженерным меню. Об этих настройках знают немногие, и ещё меньше владельцев мобильных устройств умеют ими пользоваться. Что же представляет собой инженерное меню Андроид и зачем оно нужно?

Инженерное меню Android – это не что иное, как специальная подпрограмма, предназначенная для тестирования разработчиками операционной системы и датчиков устройства. Интерфейс этой программы представлен набором опций, позволяющих изменять конфигурацию «железа» мобильного устройства. С её помощью можно получить исчерпывающие сведение об аппаратной части гаджета, произвести тестирование процессора, оперативной и физической flash-памяти, режимов беспроводного соединения, настроить параметры камеры, дисплея, микрофона, динамиков и многое другое.

Вход в инженерное меню

Всё это, конечно, хорошо, только вот как зайти в инженерное меню, если в интерфейсе Android нет соответствующей опции? Вход в меню расширенных аппаратных настроек осуществляется с помощью специального кода, вводимого в строке для набора телефонного номера. Меню должно открыться сразу после ввода последнего символа комбинации, но в отдельных случаях может потребоваться нажатие кнопки вызова.

В самой процедуре нет ничего сложного, правда, следует учитывать, что для разных моделей мобильных гаджетов существуют свои коды. Ниже мы привели список кодов для самых популярных производителей.

Коды инженерного меню в Андроид являются универсальными, тем не менее, их корректная работа на телефонах с «левыми» прошивками не гарантируется. Для доступа к аппаратным настройкам Android также можно использовать специальные программы, например, «Инженерное Меню MTK» или «Mobileuncle MTK Tools» .

Подобные приложения особенно пригодятся на планшетах, прошивка которых не предусматривает наличие «звонилки». Интерфейс и набор доступных опций в этих программах несколько отличаются, впрочем, разобраться с ними не составит особого труда.

Какой бы способ вы не использовали, при работе с инженерным меню нужно проявлять максимум осторожности. Перед началом работы настоятельно рекомендуется записать все значения исходных параметров, чтобы иметь возможность восстановить настройки. Проводить эксперименты с инженерным меню только ради того, чтобы узнать, что из этого получится, недопустимо, так вы можете привести своё устройство в негодность!

Для получения списка инженерных кодов для конкретной модели телефона можно воспользоваться специальным приложением Secret Codes , доступным в Google Play. На некоторых моделях мобильных устройств для полноценного доступа к инженерному меню могут потребоваться права суперпользователя (root).

Что можно изменить с помощью меню

Как попасть в инженерное меню вы знаете, теперь давайте узнаем, какие настройки с его помощью можно произвести. Возможности более чем широки. Подпрограммой меню поддерживается изменение уровня громкости динамиков и чувствительности микрофона, настроек встроенной камеры, параметров аудио, модулей GPS, Bluetooth и Wi-Fi, отключение неиспользуемых частот для экономии заряда батареи. Также вы можете протестировать ключевые компоненты вашего устройства и внешнюю карту памяти, настроить операции ввода-вывода, определить точную температуру процессора и аккумулятора, уровень вредного электромагнитного излучения.

Другой полезной функцией является получение доступа к режиму восстановления – аналогу BIOS на компьютерах, который в свою очередь содержит целый набор настроек. Возможности режима восстановления включают сброс устройства к заводским параметрам, обновление прошивки, создание резервной копии операционной системы, получение доступа к root-правам, удаление конфиденциальных пользовательских данных. Перечислить все опции инженерного меню в рамках одной статьи не представляется возможным, чем больше в телефоне или планшете датчиков и компонентов, тем более обширным оно будет.

Увеличение громкости телефона через инженерное меню

А теперь продемонстрируем работу с аппаратными настройками на примере одной из самых востребованных операций и узнаем, как увеличить громкость на Андроиде через инженерное меню. Итак, заходим в меню с помощью Mobileuncle MTK Tools или введя «волшебный» код, затем находим и открываем подраздел Audio. Если в меню вы зашли через программу Mobileuncle Tools, этот подраздел будет находиться в разделе старшего порядка Engineer Mode, в остальных случаях он обычно располагается на вкладке Hardware Testing.

В подразделе Audio вам будут доступны следующие опции:

  • Normal Mode – обычный режим, работающий когда к устройству не подключена гарнитура.
  • Headset Mode – режим гарнитуры, включающийся в момент подключения к смартфону наушников или колонок.
  • LoudSpeaker Mode – режим громкоговорителя. Активируется при включении громкой связи при условии, что к устройству не подключена гарнитура.
  • Headset_LoudSpeaker Mode – режим громкоговорителя с подключенной гарнитурой. То же самое, что предыдущий, но с подключенными наушниками или колонками.
  • Speech Enhancement – этот режим включается при разговоре по телефону без использования громкой связи.

В разделе могут быть и другие настройки, например, Debug Info и Speech Logger, но их лучше не трогать. Выбираем режим, для которого нужно изменить уровень громкости (пусть это будет Normal Mode), в открывшемся списке выбираем Type и указываем, для какой именно функции будем изменять громкость. Доступными могут быть такие функции:

  • Ring – настройка громкости для входящих звонков;
  • Media – настройка громкости динамиков при воспроизведении мультимедиа;
  • Sip – звуковые настройки для интернет-звонков;
  • Sph – звуковые настройки разговорного динамика;
  • Sph2 – звуковые настройки второго разговорного динамика (опции может не быть);
  • Mic – изменение чувствительности микрофона;
  • FMR – настройки громкости FM-радио;
  • Sid – этот параметр лучше не трогать, иначе могут возникнуть проблемы с голосом собеседника.

Выбрав функцию, прокручиваем текущий список, выставляем нужное значение Value (от 0 до 255) и жмём для применения новых настроек Set.

Для изменения уровня громкости также можно воспользоваться предустановленными шаблонами – опцией Level. В большинстве телефонов имеется семь уровней, от 0 до 6. Настройку Max Vol желательно не трогать, равно как и не стоит выставлять слишком высокие значения для Value, иначе звук в динамиках начнёт хрипеть. Аналогичным образом настраиваются и другие режимы в подразделе Audio.

Для вступления новых настроек в силу в некоторых моделях смартфонов и планшетов требуется перезагрузка.

Сброс настроек

И последнее, что мы сегодня рассмотрим, это сброс параметров инженерного меню к заводским значениям. Понадобиться он может в том случае, если после внесения изменений устройство стало работать некорректно. Существует несколько способов сброса. Если система нормально загружается, зайдите в настройки и откройте подраздел «Восстановление и сброс».

Также сбросить инженерное меню можно, введя в «звонилке» специальный сервисный код. Обычно это *2767*3855#, *#*#7780#*#* или *#*#7378423#*#*, но для вашей модели телефона может понадобиться свой код.

Еще один вариант – воспользоваться режимом восстановления, о котором было сказано выше. Чтобы в него попасть, используйте одну из этих комбинаций:

  • Кнопка включения + уменьшение громкости.
  • Кнопка включения + увеличение громкости.
  • Кнопка включения + кнопка «Домой» + уменьшение/увеличение громкости.
  • Кнопка включения + увеличение громкости + уменьшение громкости.

В открывшемся списке опций выберите «wipe data/factory reset» → «Yes – delete all user data» → «reboot system now». Устройство будет перезагружено, и настройки обнулятся.

Есть ещё один способ сбросить настройки инженерного меню, но он требует наличия прав суперпользователя. Используя любой файловый менеджер с поддержкой прав root, зайдите в корневой каталог системы, а затем удалите полностью или частично содержимое папки data/nvram/apcfg/aprdcl и перезагрузитесь.

Файлы в папке aprdcl как раз отвечают за настройки инженерного меню. Сходу удалять все файлы необязательно. Если вы напортачили, скажем, с настройками аудио, для восстановления исходных параметров достаточно удалить файлы, в названии которых имеется элемент строки audio. И ещё один момент. Независимо от способа сброса, всегда делайте резервную копию ваших личных данных и приложений, так как все они могут быть утрачены.

Создание меню

Последнее обновление: 26.02.2017

Меню в приложениях представляет класс android.view.Menu , и каждая activity ассоциируется с объектом этого типа. Объект android.view.Menu может включать различное количество элементов, а те в свою очередь могут хранить подэлементы.

Определение меню в xml

Меню, как и файлы интерфейса или изображений, также представляет собой ресурс. По умолчанию файлы меню находятся в проекте в каталоге res/menu .

При создании нового проекта с Empty Activity у нас нет никакого каталога res/menu и соответственно нет ресурсов меню, но мы можем их добавить вручную. Для этого нажмем правой кнопкой мыши в проекте на каталог res и далее в открывшемся списоке выберем пункт New -> Android Resource File :

После этого в каталоге res будет создан подкаталог menu, в котором будет находиться файл main_menu.xml.

По умолчанию этот файл определяет один пустой элемент menu:

Изменим содержимое файла, определив несколько пунктов:

Тег

является корневым узлом файла и определяет меню, состоящее из одного или нескольких элементов и .

Элемент представляет объект MenuItem, которой является одним из элементов меню. Этот элемент может содержать внутренний подэлемент

, с помощью которого создается подменю.

Элемент включает следующие атрибуты, которые определяют его внешний вид и поведение:

    android:id : уникальный id элемента меню, который позволяет его опознать при выборе пользователем и найти через поиск ресурса по id

    android:orderInCategory : порядок следования элемента в меню

Наполнение меню элементами

Мы определили меню с тремя элементами, но само определение элементов в файле еще не создает меню. Это всего лишь декларативное описание. Чтобы вывести его на экран, нам надо использовать его в классе Activity. Для этого надо переопределить метод onCreateOptionsMenu . Итак, перейдем к классу MainActivity и изменим его следующим образом:

Package com.example.eugene.menuapp; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Menu; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main_menu, menu); return true; } }

Метод getMenuInflater получает объект MenuInflater и вызываем его метод inflate() . Этот метод в качестве первого параметра принимает ресурс, представляющий наше декларативное описание меню в xml, и наполняет им объект menu, переданный в качестве второго параметра.

Запустим приложение по умолчанию и нажмем на кнопку меню в правом верхнем углу:

Обработка нажатий в меню

Если мы нажмем на любой из пунктов меню, то ничего не произойдет. Чтобы привязать к меню действия, нам надо переопределить в классе activity onOptionsItemSelected .

Для вывода выбранного элемена меню в файле activity_main.xml определим текстовое поле с id=header:

И изменим класс MainActivity:

Package com.example.eugene.menuapp; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.TextView; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main_menu, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); TextView headerView = (TextView) findViewById(R.id.header); switch(id){ case R.id.action_settings: headerView.setText("Настройки"); return true; case R.id.open_settings: headerView.setText("Открыть"); return true; case R.id.save_settings: headerView.setText("Сохранить"); return true; } return super.onOptionsItemSelected(item); } }

Чтобы понять, какой пункт меню выбран, вначале получаем его идентификатор int id = item.getItemId() . Затем пробегаемся в конструкции switch..case и выбираем нужный вариант и в зависимости от выбора производим определенные действия - в данном случае устанавливаем текст TextView.

При длительном нажатии на кнопку питания смартфона или планшета мы, как правило, вызываем меню выключения с двумя опциями: «Выключить» и «Перезагрузить». По большому счету обычному пользователю этого вполне достаточно, и менять что-либо он не будет. Другое дело – продвинутые пользователи, которые не понаслышке знают, что такое Recovery Mode, Bootloader, «мягкая перезагрузка» и были бы не против расширить скудное меню этими функциями. В статье мы расскажем, как это сделать.

Что можно добавить в меню выключения Android

Стоит понимать, что системное меню выключения на Android является элементом пользовательского интерфейса, которое также поддается видоизменениям. В принципе, сюда можно добавлять практически любые параметры. Чаще всего, это различные варианты перезагрузки устройства, звуковые профили и другие системные настройки.

Опытные пользователи мобильных устройств на Android хоть раз в своей жизни перепрошивали свои гаджеты. При этом очень часто они используют специальный режим загрузки Android – Recovery Mode. Он позволяет не только прошить аппарат, но и сделать полный сброс системы до заводских настроек, создать резервную копию, очистить память телефона, получить ROOT и многое другое. Для входа в этот режим обычно используются комбинации нажатий кнопок устройства. Причем для каждой марки смартфона или планшета они могут быть разными. Чтобы не задаваться этим вопросом и каждый раз не нажимать обозначенные кнопки, этот параметр можно добавить в меню выключения.


Мы рассмотрим несколько вариантов изменения системного меню выключения с помощью модуля для Xposed и приложений Material Power Menu и Quick Reboot. Для корректной работы все они требуют наличия на устройстве .

Внимание! Действия, описанные в этой статье, вы совершаете на свой страх и риск. Если вы не совсем понимаете, зачем вам это нужно, лучше ничего не делайте. Редакция сайта Трешбокс не несет ответственности за «окирпичивание» ваших устройств.

Модуль Advanced Power Menu для Xposed

Преимуществом данного способа является то, что все изменения интегрируются непосредственно в системное меню выключения Android. Для изменения параметров выключения устройства вам понадобится специальная среда выполнения . Откройте приложение , перейдите в репозиторий и найдите там Advanced Power Menu (APM+) . Установите модуль и не забудьте активировать его в настройках Xposed. Перезагрузите устройство.



APM+ очень прост в использовании. При первом запуске вы увидите пункты системного меню выключения. Здесь можно удалять имеющиеся пункты, создавать новые и менять их расположение путем перетаскивания. Для некоторых опций утилита позволяет настраивать расширенные параметры в пределах каждого пункта меню. Например, по нажатию на «Перезагрузить» система предложит выбрать тип перезагрузки: обычная, «мягкая», Recovery Mode и Bootloader.





С помощью APM+ можно добавить в меню фонарик, Wi-Fi, звуковые профили, режимы мобильной сети, передачу данных, скриншот, быстрый набор номера и запись экрана. В дополнение к этому внешний вид самого меню также можно незначительно украсить, применив одну из тем оформления.




Но наиболее полезной особенностью модуля APM+ являются «противоугонные» функции. Они позволяют отключить некоторые элементы меню или защитить их паролем, добавить текстовое предупреждение на экране блокировки и прочее. Также интересным выглядит возможность создать фальшивый пункт «Выключить», который имитирует выключение устройства, а на самом деле выполняет другие, отмеченные пользователем в настройках, действия.






Advanced Power Menu лучше всего подходит для устройств со стоковым Android 4.0 и выше. На многих фирменных оболочках модуль не работает, разработчиком заявлена поддержка только Xperia UI и TouchWiz. Сейчас, по всей видимости, работа над модулем приостановлена. Утилита уже более года как не получала обновление, а ее последняя версия лишь частично поддерживает Android 6.0. Тем не менее, если у вас есть аппарат на KitKat или Lollipop – можете попробовать поставить на него APM+.


Как известно, Android KitKat содержит более расширенное меню выключения, нежели Lollipop и Marshmallow. В нем, кроме пунктов «Выключить» и «Перезагрузить» есть еще «Режим полета» и звуковые профили. Приложение Material Power Menu возвращает их в меню на устройствах с Android 5.0 и выше. В качестве бонуса утилита содержит опции для входа в режим загрузчика и восстановления, а также «мягкую» перезагрузку, при которой перезапускается только интерфейс системы. Еще одной интересной функцией программы является Safe Mode (безопасный режим). В этом режиме, по аналогии с компьютером, система Android загружается с отключенными сторонними приложениями. Если вы, например, подхватили какой-нибудь троян или другой зловред, можно использовать Safe Mode для его удаления из системы.

Material Power Menu работает независимо от механической кнопки питания устройства. Для удобства вызова меню выключения можно вынести ярлык приложения на рабочий стол. Таким образом, утилита окажется полезной в случае, если у вас сломалась кнопка питания. При наличии ROOT и Xposed, Material Power Menu интегрируется в среду в качестве программного модуля и полностью заменяет системное меню выключения Android. Правда включается это меню не совсем удобно – повторным долгим нажатием на кнопку питания. Но на некоторых прошивках это может не сработать.

Единственным существенным недостатком приложения является отсутствие русского языка, а также тот факт, что программа не позволяет добавлять новые или изменять существующие пункты в меню выключения.


В отличие от предыдущих решений, данный способ с использованием приложения Quick Reboot не предусматривает каких-либо изменений в системном меню выключения Android. Quick Reboot – это довольно простая утилита, задача которой заменить собой кнопку питания устройства. То есть вы можете выключать свой смартфон или планшет по старинке (с помощью кнопки питания), либо через это приложение. Кроме основных параметров меню выключения, программа позволяет перезагрузиться в режим восстановления или загрузчика без запоминания комбинаций клавиш. Для удобства запуска команд Quick Reboot имеет виджеты.




Приложение имеет простой интерфейс с поддержкой русского языка, темы оформления и более 10 пользовательских опций для меню выключения. В целом все пункты меню работают исправно, а чего-то большего от утилиты ждать не стоит.

В итоге

Подводя итоги, можно выделить два основных момента, при которых подобные утилиты могут пригодиться. Первый – когда вы хотите модифицировать системное меню выключения Android и расширить его функциональные возможности необходимыми вам опциями. В этом случае советуем попробовать Xposed-модуль Advanced Power Menu с отличным набором функций.

Второй – это тот момент, когда у вас не работает кнопка питания или громкости (для комбинации, чтобы войти в режим загрузчика или восстановления) или наблюдаются проблемы с их нажатием. В этой ситуации такие приложения, как Material Power Menu и Quick Reboot придутся как нельзя кстати.