Sony SmartWatch - как узнать имя пакета хост-приложения

Я хотел бы обновить виджет SmartWatch всякий раз, когда пользователь изменяет настройки виджета. Я знаю, что это можно сделать, отправив WIDGET_IMAGE_UPDATE_INTEN намерение, но кажется, что у меня нет информации о имени пакета приложения хоста (то есть com.sonyericsson.extras.smartwatch).

Как я могу получить "имя пакета хост-приложения"?

PS: В настоящее время в моем коде записано имя "com.sonyericsson.extras.smartwatch".

1 ответ

Решение

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

String hostAppPackageName = intent.getStringExtra(Widget.Intents.EXTRA_AHA_PACKAGE_NAME);

Вы можете сохранить имя пакета для последующего использования в вашем коде. Это также делается в служебных классах SDK, т. Е. Хранится как глобальная переменная в абстрактном классе ExtensionService, который используется всеми расширениями Sample в SDK.

Взгляните на служебные классы SDK здесь

Другие вопросы по тегам