Опция меню у смартфона андроид

Опция меню у смартфона андроид

Android поддерживает несколько типов меню. Первый — на телефоне есть отдельная кнопка Menu (в старых телефонах), нажатие которой вызывает меню. В новых устройствах отдельную кнопку убрали, заменив на значок меню в виде трёх точек в вертикальной ориентации. Второй тип — контекстное меню, которое появляется при нажатии и удерживания пальца на экране в нужном месте (также можно нажать и удерживать центральную кнопку на телефоне). Контекстное меню в свою очередь может иметь подменю. Сегодня мы познакомимся с первым типом меню. В данной статье будет рассматриваться работа с меню на новых устройствах под управлением Android 4.0 и выше.

В шаблоне Empty Activity нет меню, поэтому мы создадим его сами. Это поможет вам понять принцип работы и получить общее представление о проекте. Запоминать названия классов, методов и код для обработки выбора пунктов меню необязательно. В других шаблонах меню будет встроено и вы можете сразу использовать его.

Создайте новый проект на основе Empty Activity и запустите его. Никакого меню пока нет.

Создадим несколько строковых ресурсов в файле res/values/strings.xml, которые будут отвечать за пункты меню:

Теперь создайте новую папку menu в папке res (правый щелчок мыши на папке res, | New | Directory). Далее создайте в созданной папке файл menu_main.xml — имя указывает, что меню относится к основной активности MainActivity (правый щелчок мыши на папке menu | New | Menu Resource File). Если вы будете создавать приложение с несколькими экранами, то у каждой активности будет отдельное меню со своими настройками. Пока откроем файл menu_main.xml и добавим в полученный шаблон свой код:

Откроем файл MainActivity. Сейчас в нём только один метод onCreate(). Добавим новый метод onCreateOptionsMenu(). Именно данный метод отвечает за появление меню у активности. Сразу после метода onCreate() начинайте вводить первые символы метода и дальше студия сама покажет список подходящих методов.

Найдите нужный метод и заготовка будет создана автоматически.

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

В методе inflate() вы указываете ресурс меню (R.menu.menu_main) и объект класса Menu.

Запустите проект. Теперь в правой части заголовка вы увидите значок из трёх точек, выстроенных в вертикальную линию. Нажмите на значок, чтобы увидеть пункт меню Settings.

Как не трудно догадаться, элемент item отвечает за отдельный пункт меню. Добавим ещё три пункта по такому же принципу, меняя только идентификатор и текст для меню:

Запустите проект и попробуйте снова вызвать меню. Вы увидите три новых пункта.

Параметры id и title не нуждаются в объяснениях. Параметр orderInCategory позволяет задать свой порядок вывода пунктов меню. Предположим вы создали пять пунктов меню, но пока не определились с порядком их вывода на экране. Чтобы не перемещать постоянно целые блоки кода для пунктов меню в нужном порядке, можно воспользоваться данным параметром.

И, наконец, важный атрибут app:showAsAction определяет поведение меню в ActionBar. Значение never означает, что элемент меню не должен выводиться в заголовке, а только в всплывающем меню, т.е. находиться за тремя точками. Если вы установите значение always, то пункт Settings сразу появится в заголовке вашего приложения. Также доступны значения ifRooms, withText и collapseActionView. Попробуйте самостоятельно. Например, ifRoom выводит пункт меню, если позволяет место. Если пунктов будет много, то они будут только мешаться. Как правило, в таком варианте выводят очень короткое слово или значок для частых операций, чтобы избежать лишнего щелчка на три точки.

Читайте также:  Домашняя библиотека для андроид

Обратите внимание на атрибут app:showAsAction, который относится к пространству имён xmlns:app=»http://schemas.android.com/apk/res-auto». Было время, когда такого пространства имён не существовало и в проектах использовался атрибут android:showAsAction из стандартного пространства имён. Если студия будет ругаться на ошибку, то отредактируйте код.

Пока пункты меню не выполняют полезной работы. Любое нажатие на пункт просто закрывает меню без видимых последствий. Мы ещё не написали код для обработки нажатий.

Выбор пунктов меню

Мы научились создавать меню. Но пока оно бесполезно, так как пункты меню никак не реагируют на наши нажатия. Для обработки нажатий пунктов меню служит другой метод onOptionsItemSelected(). Добавим метод по такому же принципу, как для предыдущего примера. Получим заготовку.

Параметр item отвечает за пункт меню. Вам следует получить идентификатор меню через метод getItemId() и указать для него код (в Kotlin вместо метода используется свойство itemId). Так как обычно меню состоит из нескольких пунктов, то удобно использовать конструкцию when. Для вывода информации воспользуемся текстовой меткой. Добавьте на экран активности компонент TextView. Можете использовать имеющийся TextView с надписью «Hello World!», только присвойте ему идентификатор.

Добавим код в заготовку для выбранного пункта меню:

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

Переключатели

Внешний вид пунктов меню можно изменить на вид с переключателями. Для этого нужно добавить элемент group с атрибутом android:checkableBehavior=»single»:

Большого смысла в этом режиме я не вижу. И рассматривать его не будем.

Режим Design

В Android Studio 2.2 добавили графический режим построения меню, которых похож на панель инструментов для добавления новых компонентов на экран. У меню панель состоит из четырёх элементов: Menu Item, Search Item, Menu, Group.

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

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

Пример на Java

Код на Java не сильно отличается. Создание элементов меню на XML остаётся без изменений. Осталось только написать кода в классе активности.

Выберите в студии меню Code | Override Methods. и в следующим окне начинайте вводить название метода по первым буквам. Можно вводить по первым заглавным буквам, т.е. ocom (onCreateOptionsMenu), чтобы быстро найти нужную строку. Нажимаем кнопку OK и получаем заготовку.

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

Добавим код в заготовку для выбранного пункта меню:

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

Существует альтернативный способ через XML, похожий на обработку щелчков кнопки (начиная с Android 3.0). Вы можете добавить атрибут android:onClick в ресурсах меню, и вам не нужно использовать вызов метода onOptionsItemSelected(). При помощи android:onClick вы можете указать нужный метод при выборе пункта меню. Добавьте данный атрибут к пункту Settings

Теперь в коде активности напишем следующее:

Источник

Как открыть и настроить инженерное меню на Андроид — инструкции и секретные коды

Производители смартфонов на Андроид для тестирования устройств внедряют и используют инженерное меню. В нём содержатся всевозможные тесты и настройки аппарата, недоступные рядовым пользователям.

Однако сегодня, зная USSD-команду или скачав приложение с PlayMarket, зайти в инженерное меню может любой желающий.

Зачем нужно скрытое инженерное меню в Андроид

Инженерное меню (Engineering Mode) – по своей сути скрытое приложение, которое используют разработчики для тестирования и установки оптимальных параметров мобильного телефона или планшета. Специалисты проверяют работу датчиков и при необходимости вносят корректировки в функционирование системных компонентов.

Работая с техническим меню Android, будьте осторожны — изменение части функций приводит к сбоям в работе устройства.

Как войти в меню

Чтобы открыть меню, установленное производителем, активируйте на смартфоне панель набора номера и введите одну из представленных в таблице USSD-команд. После ввода команды цифры пропадут с экрана, а вместо них откроется меню.

Читайте также:  Sqlite order by android

В панели набора номера введите комбинацию цифр и символов для входа в меню

Таблица: комбинации для запуска Engineering Mode

Производитель устройства Команда
Sony *#*#7378423#*#*
*#*#3646633#*#*
*#*#3649547#*#*
Philips *#*#3338613#*#*
*#*#13411#*#*
ZTE, Motorola *#*#4636#*#*
HTC *#*#3424#*#*
*#*#4636#*#*
*#*#8255#*#*
Samsung *#*#197328640#*#*
*#*#4636#*#*
*#*#8255#*#*
Prestigio *#*#3646633#*#*
LG 3845#*855#
Huawei *#*#2846579#*#*
*#*#14789632#*#*
Alcatel, Fly, Texet *#*#3646633#*#*
Смартфоны и планшеты с процессором MediaTek (большинство китайских аппаратов) *#*#54298#*#*
*#*#3646633#*#*
Acer *#*#2237332846633#*#*

Видео: как работать в 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. По отзывам пользователей программа успешно выполняет свои функции, но после перезагрузки смартфона происходит сброс настроек, сделанных с помощью приложения.
Ссылка в Google Play: https://play.google.com/store/apps/details?id=ru.olegsvs.svsengrunner&hl=ru.

Программа Mobileuncle Tools

Функционал приложения аналогичен предыдущему, но, помимо доступа к инженерному меню, пользователь получает возможность просмотреть информацию об экране, сенсоре и памяти устройства, а также обновить прошивку, восстановить IMEI-номер и улучшить GPS. Для стабильного функционирования необходимы root-права.

Чтобы зайти в инженерное меню, выберите Engineer Mode

Утилита Shortcut Master

Программа Shortcut Master предназначена для работы с ярлыками и системными приложениями: создания, поиска, удаления. Прямой функции входа в инженерное меню в ней нет. Но с её помощью вы можете просмотреть список секретных команд, действующих на вашем устройстве. А нажав на название команды, увидите выпадающее меню, в котором будет пункт «выполнить». Удобно, и не требует лишних действий.

В программе вызовите дополнительное меню и выберите пункт Secret code explorer, чтобы увидеть список кодов

Ссылка в Google Play: https://play.google.com/store/apps/details?id=org.vndnguyen.shortcutmaster.lite&hl=ru.

Root-права для доступа в инженерное меню

Чтобы попасть в сервисное меню на некоторых версиях Андроид, пользователь должен обладать правами суперпользователя (root). Получить права можно с помощью специализированных приложений: Farmaroot, UniversalAndRoot, Romaster SU и других. Чтобы получить Root-доступ к устройству с помощью Farmaroot:

  1. Установите и запустите в программу. Ссылка в Google Play: https://play.google.com/store/apps/details?id=com.farmaapps.filemanager&hl=ru.
  2. Если приложение поддерживает установку root-прав на ваше устройство, то на экране вы увидите список возможных действий, среди них – «Получить root». Выберите этот пункт.
  3. Выберите один из предустановленных методов получения root.
  4. Программа начнёт установку.
  5. По окончании процедуры вы увидите сообщение об успешной установке root доступа.

Инструкция по получению root-доступа через приложение Farmaroot

Возможные проблемы и решения:

  • приложение закрылось на середине установки — перезапустите аппарат и попробуйте снова;
  • 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 внизу экрана. Если параметры сбрасываются после перезагрузки устройства, попробуйте зайти в техническое меню не через приложение, а с помощью цифровой команды.

Задав настройки, не забывайте нажать кнопку SET

Коды сервиса аппаратов на Андроид

Помимо технического меню, управлять функционалом смартфонов на Android позволяют секретные USSD-коды — сочетания цифр и символов, набрав которые пользователь выполняет действие. Секретные коды для разных устройств приведены в таблице.

Источник

Оцените статью