这些天开始开发应用程序时,我试图在窗口小部件中触摸屏幕时尝试打开“窗口”。
在代码示例(sdk)中,我们可以在事件窗口小部件中看到这一点,当您在屏幕上单击时,会打开一个“窗口”,您可以在那里看到事件。
我按照代码查看我该怎么做:
NotificationWidgetExtension中的:SmartExtensionUtils:onTouch事件
Intent intent = new Intent(Widget.Intents.WIDGET_ENTER_NEXT_LEVEL_INTENT);
sendToHostApp(intent);
在WidgetExtension中
protected void sendToHostApp(final Intent intent) {
intent.putExtra(Widget.Intents.EXTRA_AEA_PACKAGE_NAME, mContext.getPackageName());
intent.setPackage(mHostAppPackageName);
mContext.sendBroadcast(intent, Registration.HOSTAPP_PERMISSION);
}
尝试复制,但我没有成功。我有什么地方可以阅读它,或者有人可以帮我这个吗?
答案 0 :(得分:2)
我认为您正在考虑三种不同的API - Widget API,Notification API和Control API。
您引用的onTouch代码是SDK的实用程序类的一部分,如果您已经实现了同时实现了Notification API和Widget API的扩展,那么它可以帮助您。当在手表上的Widget视图中,并且您已重写NotificationWidgetExtension类时,onTouch事件将被传递给上述方法。它基本上会显示第一个可用(而不是读取)的通知。
你提到“窗口”等,我猜你想要在SmartWatch上创建一个应用程序。这是通过Control API完成的。看一下SDK中包含的SampleControlExtension。查看this answer,以获取有关如何从您自己的扩展程序启动Control扩展程序的信息。例如。如果你创建一个Widget + Control扩展,你可以在你的Widget的onTouch方法中启动Control扩展。