Sony SmartWatch - вызывать приложение на Smart Watch, когда оно получает событие
Я хотел бы написать приложение, которое отслеживает входящие SMS и уведомляет меня на часах, если содержание SMS содержит предопределенный текст (например, "идти домой").
Я знаю, что могу использовать API уведомлений, чтобы добавить событие. Он будет вибрировать и покажет небольшую иконку приложения на часах. Что делать, если я хочу использовать управляющий API, чтобы мигать светодиод и показывать весь текст и изображение на часах при получении SMS, как мне это сделать?
Это очень похоже на дополнение "Обработка вызовов". Может ли Sony открыть источник "Обработка вызовов" для справки?
1 ответ
Я думаю, у вас есть два варианта. Либо, как вы говорите, 1) реализовать расширение, которое использует как API уведомлений, так и API управления. Или 2) просто реализовать расширение управления.
Для 1) вы можете добавить пользовательское действие, которое запускает ваше расширение элемента управления, используя намерение START_REQUEST ниже. См. Метод doAction1 в коде SampleNotificationExtension. Это будет означать, что стандартное уведомление будет отображаться на часах, тогда вы сможете представить пользовательское представление пользователю, если пользователь нажимает кнопку настраиваемого действия.
И для 2), полностью реализовать ваши функциональные возможности как контрольное расширение и запросить его запуск, когда вы получите SMS, найденные вашим фильтром. Недостатком является то, что вам нужно представить текст SMS самостоятельно, что в случае 1) сделано для вас.
Пример START_REQUEST-намерения:
Intent intent = new Intent(Control.Intents.CONTROL_START_REQUEST_INTENT);
intent.putExtra(Control.Intents.EXTRA_AEA_PACKAGE_NAME, "your.package.name");
intent.setPackage(hostAppPackageName);
sendBroadcast(intent, Registration.HOSTAPP_PERMISSION);