Меню андроида для смартфона

Ваш смартфон способен на большее: функции, трюки, настройки инженерного меню Android

Новенький смартфон хорош со всех сторон. Но проходит время – и он уже не тот: звук в наушниках становится тише, микрофон – глуше, батареи хватает на полдня… Значит, пора старичку на свалку? Не торопитесь, он вам еще послужит: достаточно разбудить его скрытые резервы.

Аппаратная начинка большинства мобильных устройств используется лишь на 80-90% своего потенциала. А чтобы выжать из нее все 100, нужно попасть в одну секретную область – инженерное меню, которое… Поговорим, что представляет собой инженерное меню Android, как в него войти, какие в него заложены функции и как их использовать.

Они хотели скрыть это от нас

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

А возможности инженерного меню действительно стоят внимания. Ведь в их числе:

  • Получение самой достоверной информации о железе мобильного девайса.
  • Управление функциями телефонии и беспроводной связи.
  • Аппаратная настройка множества функций, в частности, регулировка громкости динамиков и чувствительности микрофона (пожалуй, самая востребованная опция у владельцев смартфонов).

Инженерное меню есть не на всех Android-телефонах и планшетах. На бюджетных девайсах сильно китайских брендов, а особенно «no name» зачастую его нет. Также его часто нет на устройствах с процессорами Qualcomm.

Набор доступных функций и сама организация инженерного меню зависят от марки процессора и оснащенности устройства тем или иным оборудованием. Основная масса смартфонов и планшетов базируется на процессорах MTK (MediaTek), поэтому знакомиться с ним будем на их примере.

Как попасть в «инженерку»

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

Для открытия меню используют специальные коды, которые набирают так же, как команды USSD – на телефонной клавиатуре, либо приложения из Google Play маркета.

В таблице ниже приведен список кодов для разных марок мобильных устройств:

Любые на базе MTK
ZTE, Motorola *#*#4636#*#*
Sony *#*#7378423#*#*
Huawei
Lenovo , Fly, Philips, Prestigio, Alcatel, Texet *#*#3646633#*#*
HTC
BQ *#*#83781#*#*

А далее – приложения, которые создают ярлык на рабочем столе для быстрого доступа к «инженерке» смартфонов и планшетов на MTK:

  • Инженерное Меню MTK
  • MTK Engineering Mode
  • Запуск инженерного меню
  • Запуск инженерного меню мтк
  • MTK Engineer Mode
  • Super MTK Engineering
  • MTKAPP : MTK Engineer Mode
  • MTK Engineering Mode – Advanced Settings & Tooling

К сожалению, универсально-совместимых приложений здесь нет, поскольку их не существует. Многие платформы, даже оснащенные процессорами MediaTek, не поддерживают часть программ из этого списка, а некоторые и вовсе ни одну.

Знакомство с инженерным меню смартфона MTK

Для входа в «инженерку» использовалось приложение MTK Engineer Mode, ссылка на которое приведена ваше.

Как видно на скриншоте, стартовая страница утилиты содержит кнопки перехода к трем основным разделам:

  • Android Settings (настройки ОС Android).
  • MTK Settings (собственно инженерное меню устройства).
  • Samsung Settings (настройки устройства Самсунг). Доступно только на аппаратах этой марки.

В Android Settings находятся разделы информации о телефоне, куда дополнительно входят средства проверки, включения и выключения некоторых функций, а также информация о батарее, WLAN (беспроводных соединениях) и статистика использования аппарата.

На тестовом смартфоне этот раздел выглядит так:

Но нас интересует не он, а то, что дальше – MTK Settings. Рассмотрим его разделы подробнее.

Telepfony

  • Auto Answer – автоответчик на входящий звонок. Можно включить или выключить.
  • AntennaTest – параметры антенн мобильной связи для работы в сетях 3G и 4G.

Установка в настройках Antenna Test (3G Fdd) опции Resume default setting – один из эффективных способов устранения провалов связи в сетях 3G.

  • Band Mode – поддержка частотных диапазонов модуля GSM.

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

  • BSPTelephonyDevTool – средство мониторинга и управления работой SIM-карт.
  • CFU – раздел настройки переадресации входящих вызовов. Может использоваться, если услугу поддерживает сотовый оператор.
  • LTEinformation – настройка вывода информации о параметрах 4G (на аппаратах без поддержки этого стандарта раздел отсутствует).
  • AT Command Tool – консоль разработчика, предназначенная для выполнения некоторых операций (набора номера, изменения свойств интернет-подключения и т. д.) посредством AT-команд.
  • Misc Feature Config – в этом разделе можно активировать опции «Использовать только 2G» и «Включить вибрацию при ответе абонента».

  • Modem Test – набор средств тестирования и настройки работы модема с устройствами разных типов.
  • Network Selecting – раздел выбора стандарта мобильной связи, которая будет использоваться на телефоне. Отключение неиспользуемых стандартов уменьшает расход заряда аккумулятора.
  • NetworkInfo – содержит настройки вывода информации о различных параметрах сотовой связи.
  • GPRS – параметры GPRS-подключения для каждой SIM-карты.
  • HSPA Info – данные о стандарте 3G.
  • Mobiledataservicepreferred – настройка приоритетности передачи мобильных данных перед телефонной связью.

  • Fast Dormancy – настройки энергосберегающего режима (доступны при условии поддержки сотовым оператором).
  • RFDe-senseTest – средства тестирования и тонкой настройки передачи голосового трафика в разных частотных диапазонах.
  • Simme Lock – ручные настройки GSM (доступно при поддержке сотовым оператором).
  • World Phone – настройки модема.

Основная масса параметров этого раздела оптимально настроена по умолчанию, поэтому без уверенности в понимании своих действий лучше ничего здесь не менять.

Connectivity

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

  • Bluetooth – в этом разделе собрано все, что имеет отношение к настройкам одноименного интерфейса.
  • CDS Information – содержит параметры всех интерфейсов WLAN, доступных на устройстве.
  • FM Receiver – набор средств проверки и настройки FM-радиоприемника.
  • Wi-Fi – средства тестирования и тонкой настройки Wi-Fi.

  • Wi-FiCTIA – содержит тест различных режимов работы Вайфая. Здесь же хранятся журналы проверок.
  • Wi-FiDisplay – отображает параметры воспроизведения видео при подключении к Wi-Fi.

Hardware Testing

В Hardware Testing собраны инструменты проверки аппаратных устройств и интерфейсов Андроид-смартфона: звука, камер, дисплея, тачскрина, памяти, гнезда USB и т. д.

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

Чтобы увеличить громкость телефонного динамика, войдите в подраздел Audio Normal Mode . Откройте список Type и выберите Sph. Из списка Level выберите начальный уровень громкости Level 0 и измените значение в поле Value is: чем оно больше, тем сильнее сигнал. Однако увеличивать его сверх 5-15% крайне нежелательно, так как это может вывести оборудование из строя. Для сохранения настройки нажмите кнопку Set. Повторите действия со следующими уровнями, пока результат вас не устроит.

Для усиления звука из динамика громкой связи выберите в списке Type параметр Ring.

Для повышения чувствительности микрофонаmic.

Чтобы увеличить громкость в играх, при прослушивании музыки и просмотре видео, выберите Media. Остальное проделайте так же, как написано выше.

Уровни звучания на разных аппаратах заданы по-разному, единого стандарта нет. Поэтому искать оптимальные значения приходится экспериментальным путем.

  • Раздел Camera также содержит массу настроек. Чаще всего они оптимальны, и их изменения приводят лишь к ухудшению качества фото.

Но если ваш аппарат сохраняет снимки только в формате JPG, что ограничивает возможности при обработке их в графических редакторах, откройте в разделе Camera список Capture Type и выберите формат RAW.

  • В разделе DrivingCurrentCamera отображается величина силы тока модуля камеры.
  • De-Sense представляет собой диспетчер оборудования, через который настраивают его конфигурации.
  • Через Display управляют частотой мерцания и другими свойствами подсветки экрана.
  • В Sleep Mode содержатся параметры спящего режима.
  • IO – подраздел управления устройствами ввода-вывода.
  • Memory содержит сведения о модуле памяти.
  • Через Power просматривают и настраивают параметры управления питанием и зарядкой АКБ.
  • SDCardTest тестирует установленную в телефон SD-карту.
  • Раздел TouchScreen помогает выявлять дефекты сенсорного экрана и настраивать его чувствительность.
  • USB отображает информацию об этом интерфейсе и тестирует его функционал.
  • Раздел Sensor предназначен для калибровки сенсора.
  • Через Video управляют отдельными параметрами воспроизведения видеоматериалов.

Остальное

Вкладка Location содержит средства управления системой геолокации смартфона. Работу некоторых опций этого меню мы рассматривали в статье о проблемах с GPS-навигацией.

В Log and Debudding собраны утилиты отладки и тестирования железа, а также их логи.

Others вмещает в себя всё, что не вошло в другие разделы инженерного меню. В частности, подраздел Setting Font, через который можно менять свойства системного шрифта; Thermal, где отображаются показания термодатчиков (функция мониторинга температур есть не на всех аппаратах); USB ACM, где собраны настройки подключения USB-модемов и многое другое. Функциональный набор этой вкладки на разных девайсах сильно различается.

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

Источник

Тайны кнопок в Android. Часть 3: Кнопки в главном меню

Главное меню — один из основных инструментов для взаимодействия пользователя с приложением. В Android 2.3.x и раньше оно было «спрятано» на аппаратной кнопке Menu, и разработчики рисовали меню кто как умел. Но начиная с Android 3.0 недоработка была исправлена, меню стало стандартным компонентом на Action Bar, и получило ряд новых возможностей. При этом процесс разработки меню практически не претерпел изменений. Меню в Android — это не просто набор кнопок, на которые можно вешать OnClickListener . В Android с меню можно сделать куда больше, чем кажется на первый взгляд.

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

Вот так по-разному может выглядеть меню одного и того же приложения.

Наша первая кнопка в меню

Меню в Android описываются в файлах ресурсов или формируются программным кодом. Рекомендуется первый вариант по целому ряду причин: скорость разработки, наглядность, простота сопровождения. Ресурсы меню располагаются в подкаталоге menu каталога ресурсов приложения res . Создаем каталог menu , затем создаем новый Android XML File :

Выбираем тип ресурса Menu , вводим имя файла. Так как в разных activity меню, скорее всего, будет разным, рекомендую привязывать имена файлов ресурсов меню к именам activity.

В открывшемся редакторе введем код первой кнопки нашего меню:

Давайте рассмотрим использованные атрибуты:

  • android:id указываем, чтобы потом в коде отличать одни кнопки от других.
  • android:orderInCategory указывает порядок нашей кнопки относительно других. Указывайте порядок с шагом в 10 или 100, это позволит в будущем добавлять новые элементы в любое место, не перестраивая порядок остальных.
  • android:showAsAction — самый интересный параметр, поскольку именно он управляет поведением элементов меню в разных ситуациях. Он может принимать целый ряд значений:
    • ifRoom — Показывать элемент в action bar, только если для него достаточно места. Если места недостаточно, элемент будет автоматически скрыт в дополнительное меню (то, которое показано тремя точками друг над другом). Это лучший способ кастомизации меню в зависимости от размера экрана устройства. На больших экранах планшетов action bar будет заполнен кнопками, а на небольших телефонах будут показаны самые важные кнопки, в то время как до остальных тоже можно добраться, но только через дополнительное меню. Имейте в виду, что дополнительное меню отображается в action bar только на тех смартфонах, на которых нет аппаратной кнопки меню.
    • withText — Рядом с иконкой кнопки будет показан текст, заданный свойством android:title . Этот параметр можно указывать в комбинации с другими, разделяя параметры знаком |
    • never — Кнопка никогда не будет видна на action bar, даже если для нее есть место. К такой кнопке всегда придется добираться через дополнительное меню.
    • always — Всегда показывать кнопку в action bar. Данным параметром нельзя злоупотреблять, так как на маленьких телефонах кнопки могут начать заползать на другие элементы action bar, например на заголовок приложения. Определите для каждой activity максимум одну самую важную кнопку, без которой никак нельзя, и отметьте always только у нее. Остальные (а по возможности все) должны быть ifRoom .
    • collapseActionView — позволяет сделать кнопку, открывающую или скрывающую дополнительный элемент View в action bar. Например, можно задать такой параметр иконке поиска, по ее клику показывать прямо в action bar поле для ввода поискового запроса.
  • android:title — определяет заголовок кнопки меню. Он может отображаться рядом с иконкой в action bar или же как название элемента в дополнительном меню.
  • android:icon — иконка кнопки.

Иконки для меню

Если вы разрабатываете приложение в стиле Holo, вы можете использовать готовый набор иконок от Google, который доступен всем для загрузки с официального сайта совершенно бесплатно.

Набор иконок представлен отдельно для темной и отдельно для светлой темы Holo, а также для разных размеров экранов. Если вы не можете позволить себе дизайнера в команде, этот набор просто незаменим.

Подключение меню к Activity

Загрузить меню из ресурса очень быстро. Открываем код Activity и перекрываем метод onCreateOptionsMenu :

Теперь меню отображается, но при нажатии на кнопку ничего не происходит. Повесить обработчик на кнопку можно кодом или прямо в XML-ресурсе, задав в свойстве android:onClick имя метода-обработчика. Чтобы сделать то же самое кодом, нужно в Activity перекрыть метод onOptionsItemSelected :

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

Подменю полезно, когда мы хотим уточнить способ выполнения действия, представленного в action bar. К примеру, у нас есть список покупок и кнопка «Сортировка». По нажатию кнопки нужно выяснить, по какому параметру пользователь хочет отсортировать элементы списка: по категории товара, по названию или по порядку добавления в список. Посмотрим код подменю для такого случая:

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

Radio button’ы в меню

Мы только что сделали меню для выбора порядка сортировки покупок. Было бы здорово показывать, какой способ сортировки используется в текущий момент. Список может быть отсортирован только одним из трех возможных способов, что отлично соответствует идее radio button. Чтобы сделать из нашего подменю набор radio button, достаточно тегу указать свойство android:checkableBehavior=»single» . Возможные значения android:checkableBehavior :

  • single — выбор только одного из доступных элементов, наш случай
  • all — выбор любого количества доступных элементов, аналог check box
  • none — элементы группы являются обычными элементами меню, это значение по умолчанию

Полученный код меню:

Если запустить приложение и попробовать выбрать один из способов сортировки, ничего не произойдет. В меню не показано, что какой-то элемент выбран. Это придется сделать вручную вызовом item.setChecked(true);

Скрываем или показываем элементы меню

Скрывать элементы меню полезно, если телефон временно или в принципе не может выполнить какой-либо функционал. Например, у нас есть кнопки для отправки списка покупок через соц. сети, но если интернет сейчас не подключен, то отправить список не получится. Чтобы не расстраивать пользователя сообщениями об ошибке, можно скрыть неработающие в данный момент кнопки. Давайте добавим кнопку «Поделиться»:

Теперь во время создания меню в методе onCreateOptionsMenu проверим доступность сети, найдем нашу кнопку и установим ей видимость:

Так мы подстраиваем меню в момент создания activity. Этого достаточно для тех функций, которые требуют наличия определенного аппаратного обеспечения в телефоне (камера и т.п.). Но интернет может включиться в любое время, даже после старта activity. Также иногда возникает желание перестроить меню после каких-то действий пользователя в приложении. Перестроить меню предельно просто. Вызываем метод invalidateOptionsMenu() нашей activity. Это приведет к повторному вызову метода onCreateOptionsMenu перед следующей отрисовкой меню. Обратите внимание, что метод invalidateOptionsMenu был добавлен в API 11, поэтому для совместимости с Android 2.x нужно использовать такой вызов:

Класс android.support.v4.app.ActivityCompat можно найти в Support Package.

Другие способы кастомизации меню

Как вы знаете, в Android можно задавать разные ресурсы для различных размеров/ориентации/плотности экрана и в зависимости от других особенностей устройств. Это касается любых типов ресурсов, в том числе и меню. По умолчанию ресурсы меню загружаются из каталога /res/menu. Но вы можете создать каталог, например, /res/menu-sw600dp, и таким образом задать особую компоновку меню для устройств с минимальным размером экрана 600 dp по горизонтали или вертикали (это как правило соответствует 7-ми дюймовым планшетам). На практике для меню обычно достаточно указания свойства android:showAsAction=»ifRoom» для элементов, так как в результате мы получаем максимально точную «подгонку» меню к тому устройству, на котором будет работать приложение. К тому же это позволяет сильно уменьшить объем кода ресурсов, ведь их в этом случае не нужно дублировать.

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

Источник

Читайте также:  Как удалить картинку с экрана андроид
Оцените статью