Как прослушивать комбинацию событий в службе Android

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

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


0

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

Улучшите этот ответ
ответил 26 апр 2015, в 18:12
комментировать |

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


0

У вас могут быть логические значения, такие как @gabe, для обоих событий, и в onReceive для обоих из них вы можете проверить, истинны ли оба логических значения сделай что-нибудь. также создайте таймер, который устанавливает эти логические значения в false примерно за одну секунду. Это позволит отслеживать оба события, происходящие вместе.

Улучшите этот ответ
ответил 27 апр. 2015 в 02:38
добавить комментарий |

Вы можете иметь логические значения, такие как @gabe, предлагаемые для обоих событий, а в onReceive для обоих из них вы может проверить, верны ли оба логических значения, что-то сделать. также создайте таймер, который устанавливает эти логические значения в false примерно за одну секунду. Это будет отслеживать оба события, происходящие вместе.



30 трюков, позволяющих сэкономить время, которые можно попробовать с новым Google Ассистентом

Новый и улучшенный Ассистент Google может быть неполным революция еще не наступила, но это определенно существенное обновление по сравнению с традиционным помощником.

Новый помощник, если вы еще не слышали, в настоящее время вы можете испытать только на новом Pixel 4 телефон. Но будьте уверены, это изменится в ближайшее время: я подтвердил с Google, что обновленная установка действительно появится в более широкой экосистеме Android где-то в следующем году. Так что, даже если вы не возьмете его в руки в эту минуту, в конечном итоге он попадет к вам.

Так что же делает новый Ассистент таким особенным? Что ж, интерфейс значительно улучшен, во-первых: вместо того, чтобы выскакивать большое окно гудка каждый раз, когда вы вызываете своего виртуального джинна, Ассистент теперь указывает, что он слушает, с помощью анимированной разноцветной полосы в нижней части экрана. . Слова, которые вы произносите, отображаются в той же области, а ответы появляются в небольшом окне с частичным экраном вместо того, чтобы требовать от вас прекратить то, что вы делаете, и перейти на полное приложение Google.

JR

Кроме того, новый Ассистент переносит большую часть своей фактической обработки на ваше устройство вместо того, чтобы полагаться на постоянное соединение с серверами Google — а это, в свою очередь, открывает двери для некоторых изящных новых способов, которыми Ассистент может работать на вас. На данный момент нет простого способа узнать , что это за недавно добавленные параметры; вместо этого вы должны копаться и экспериментировать, чтобы найти их.

Но сегодня ваш счастливый день, потому что я мастер-флейтер. Собственно говоря, я лучше всего умею биться. (Вероятно, это потому, что я, по крайней мере, на 7 процентов земноводный, согласно недавнему анализу, который я не могу ни подтвердить, ни опровергнуть.) Так что избавьте себя от дальнейших хлопот и позвольте мне взять вас с собой в вкусное, совершенно беззаботное путешествие по что может делать новый Ассистент.

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

Спрашивайте больше у ваших приложений

Google Assistant теперь может открывать приложения на вашем телефоне быстрее, чем когда-либо, но это только половина дела. С новым помощником вы можете пойти еще дальше и открыть определенные части приложений, немного потренировав свою красивую гортань.

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

Та же основная идея может работать и с другими приложениями.. Например, вы можете указать Ассистенту искать видео с инструкциями по травлению на YouTube — или искать Made by Google в Twitter — и служба откроет соответствующий приложения (конечно, при условии, что они установлены), и вы сразу перейдете к запрошенному поиску.

Вы можете начать такой поиск, пока активно используете приложение. В приложениях с видимыми полями поиска — YouTube, Twitter, Gmail, Google Docs, Google Drive, Google Maps и т. Д. — запуск Ассистента и произнесение search for с последующим любым запросом немедленно запустит выполните поиск в этом приложении.

Но подождите! Это еще не все: в Google Фото вы можете использовать ту же логику, чтобы сузить область поиска еще больше после начала поиска. Допустим, вы начали с того, что сказали Ассистенту: Найди мои фотографии с Хэллоуина . Как только Ассистент откроет приложение «Фото» и покажет вам все изображения на Хэллоуин, вы можете сказать те, что с тыквами — и он будет искать в результатах. чтобы показать вам только картинки с Хэллоуина и с тыквами в них.

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

Неплохо , правильно? И все — это только начало.

Взаимодействуйте с информацией на экране

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

JR

(Google сообщает мне, что это, по всей видимости, ошибка, поэтому она, вероятно, будет исправлена ​​в ближайшее время.)

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

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

Точно так же, когда вы видите номер телефона, вы можете вызвать Ассистента и сказать позвонить по этому номеру .

Получили электронное письмо с веб-адресом без гиперссылок? Сохраните выделение и просто скажите Ассистенту открыть эту веб-страницу .

А если вы смотрите трейлер фильма на YouTube, попробуйте спросить Ассистента: Когда это играет рядом со мной? Вы получите ответ быстрее, чем сможете сказать «извините, отстой, Siri».

Сделайте снимки экрана и поделитесь ими в мгновение ока

‘Было время, когда сделать снимок экрана на Android было до боли сложным делом. (Кто-нибудь еще помнит дни подключения компьютера к телефону только для этого ?!) Однако с новым Ассистентом снимать, а затем делиться тем, что находится на вашем экране в любой момент, стало еще проще.

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

Делитесь отовсюду

Говоря о совместном использовании, новый Ассистент упрощает обмен практически чем угодно и откуда угодно . Смотрите ли вы изображение в своей коллекции Google Фото, просматриваете веб-страницу в Chrome или смотрите видео на YouTube, вы можете активировать Ассистента и сказать ему , чтобы поделиться им с или отправьте это любому, кому захотите — и Ассистент мгновенно перенаправит вас в ветку этого человека в вашем приложении для обмена сообщениями со вставленной и готовой ссылкой.

Если вы используйте эту команду в месте, которое не хорошо подходит для обмена по ссылкам, между тем — например, сообщение, которое вы просматриваете в Gmail, что-то, что вы просматриваете на Диске или Документы или даже какие-то результаты или информация, не относящаяся к конкретной странице, которую вы проверяете в приложении Google — Ассистент сгенерирует снимок экрана, а затем отправит это изображение указанному вами человеку в течение одной секунды. Еще раз, все, что вам нужно сделать, это открыть Ассистента, где бы вы ни находились, и попросить его поделиться этим с или отправить это кому хотите.

Ответьте, не отрывая пальца

Пока вы просматриваете ветку в приложении Google Сообщения, обратите внимание: теперь вы можете отвечать всем, с кем разговариваете, сообщая Ассистент ответ , за которым следует ваше сообщение.

Управляйте камерой

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

  • Сделать снимок — чтобы открыть приложение камеры и затем сделать снимок с основной камеры телефона за три секунды.
  • Сделайте селфи — чтобы сделать снимок с помощью фронтальной камеры телефона после трех секунд обратного отсчета
  • Сделайте снимок (или сделайте селфи) в режиме Night Sight — чтобы сделать снимок любой камерой, которую вы предпочитаете, с уже активированным режимом Night Sight, опять же с трехсекундным обратный отсчет
  • Сделайте снимок (или селфи) в портретном режиме — чтобы сделать снимок с помощью любой камеры с активированным портретным режимом, с тем же трехсекундным обратным отсчетом
  • Сделать панораму — для немедленного запуска последовательности панорамной фотосъемки.
  • Сделать видео — немедленно начать запись видео (обратите внимание, что по умолчанию для этого нет обратного отсчета)
  • Сделать замедленное видео — чтобы сразу начать запись замедленного видео (опять же, здесь нет обратного отсчета по умолчанию).
  • Take покадровая видеосъемка — чтобы открыть функцию покадровой съемки камеры (после чего вам нужно будет выбрать конкретную настройку, которую вы хотите использовать, прежде чем начнется запись)

Предпочитаете устанавливать собственный таймер для любой из этих функций? Нет проблем: просто добавьте через 10 секунд (или любое другое время, которое вы хотите) после любой из этих команд, чтобы создать свой собственный обратный отсчет.

Перейти в Google Объектив

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

Но не бойтесь, потому что, когда есть желание, есть способ. Если вы хотите получить доступ к Lens из нового Ассистента, просто скачайте официальное приложение Google Lens из Play Store. По сути, это просто ярлык для основной службы Lens, но как только она будет установлена, вы сможете указать Ассистенту открыть Google Lens — и именно так вы его откроете. и готов к действию.

Разрешить Ассистенту продолжать слушать

Одной из самых удобных возможностей нового Ассистента является его способность продолжать слушать дополнительные команды после того, как вы сказали это что-то. Это то, что позволяет службе выполнять такие действия, как более глубокое изучение результатов поиска в фотографиях или отправка дополнительных сообщений (с помощью команды reply ) после того, как вы поделились чем-то с кем-то в Сообщениях.

Но, по крайней мере, на данный момент эта способность по умолчанию отключена. Чтобы включить его, скажите Ассистенту: Откройте настройки моего Ассистента . Затем включите переключатель рядом с «Продолжение разговора» — и говорите сколько душе угодно.

Редактировать запросы проще

Посмотрим правде в глаза: для как Как ни хорошо Ассистент понимает, о чем вы спрашиваете, иногда он ошибается (и под «иногда» я имею в виду «шокирующе часто, даже если у вас нет полной кашицы»). Однако у нового Ассистента есть удобный способ исправить неправильное толкование, не заставляя вас начинать все сначала и снова вводить команду в отчаянной надежде, что он поймет вас во второй раз.

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

JR

В некоторых случаях, когда Ассистент думает, что, возможно, неправильно вас понял, он даже подчеркивает часть вашего запроса и помещает команду« Изменить ». (вместе со значком карандаша) под ним. Но даже когда это приглашение не появляется, все, что требуется, — это быстрое нажатие на текст, чтобы уточнить вашу команду.

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

Это победа. для Google, без сомнения — и с каждой сохраненной секундой это тоже победа для вас. Подумайте только: вам даже не пришлось драться, чтобы попасть сюда.

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

[Android Intelligence видео в Computerworld]

Оцените статью
logicle.ru
Добавить комментарий