2016-06-15 4 views
3

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

Например:

Когда я получаю IN_VEHICLE обновления с CONFIDENCE > 70 в течение 30 секунд, я отправить уведомление

или

Когда я получаю 3 последовательных IN_VEHICLE обновления с CONFIDENCE > 70, я отправляю уведомление

Существуют различные проблемы при его реализации. Иногда вы получаете очень частые обновления (2-я неудача), или вы ведете очень редкие обновления (первый не удается).

Как это сделать, чтобы у вас были более плавные переходы между состояниями?

ответ

1

Я думаю, что этот урок - How to Recognize User Activity With Activity Recognition поможет вам. И, как упоминалось в учебнике, создание контекстно-зависимого приложения является одним из лучших способов предложить полезные услуги для ваших пользователей.

В Handling активность Recognition:

В onHandleIntent() методе ActivityRecognizedService, то первое, что вам сделать, это проверить, что полученный Intent содержит данные распознавания активности. Если да, то вы можете извлечь ActivityRecognitionResult из Intent, чтобы узнать, какие действия может выполнять ваш пользователь. Вы можете получить список возможных действий, вызвав getProbableActivities() на объект ActivityRecognitionResult.

Исходные файлы, используемые в GitHub - Android-ActivityRecognition.

+0

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