每当用户更改小部件设置时,我想更新 SmartWatch 小部件。我知道可以通过发送WIDGET_IMAGE_UPDATE_INTEN
意图来完成,但似乎我没有主机应用程序包名称的信息(即 com.sonyericsson.extras.smartwatch)。
如何获取“主机应用程序包名称”?
PS:目前,我已经在我的代码中硬连线了“com.sonyericsson.extras.smartwatch”名称。
每当用户更改小部件设置时,我想更新 SmartWatch 小部件。我知道可以通过发送WIDGET_IMAGE_UPDATE_INTEN
意图来完成,但似乎我没有主机应用程序包名称的信息(即 com.sonyericsson.extras.smartwatch)。
如何获取“主机应用程序包名称”?
PS:目前,我已经在我的代码中硬连线了“com.sonyericsson.extras.smartwatch”名称。
每次你的小部件扩展从宿主应用程序接收到一个意图时,宿主应用程序的包名称作为额外的包含在意图中。
String hostAppPackageName = intent.getStringExtra(Widget.Intents.EXTRA_AHA_PACKAGE_NAME);
您可以存储包名称以供以后在代码中使用。这也是 SDK 的实用程序类中的做法,即它作为全局变量存储在抽象类 ExtensionService 中,SDK 中的所有 Sample 扩展都使用该类。
在此处查看 SDK 实用程序类