0

这些天开始开发应用程序,当在小部件中触摸屏幕时,我一直试图打开一个“窗口”。

在代码示例 (sdk) 中,我们可以在 Event Widget 中看到这一点,当您在屏幕中单击时,会打开一个“窗口”,您可以在那里看到事件。

我按照代码查看如何执行此操作:

在 NotificationWidgetExtension : SmartExtensionUtils : onTouch 事件

Intent intent = new Intent(Widget.Intents.WIDGET_ENTER_NEXT_LEVEL_INTENT);
sendToHostApp(intent);

在小部件扩展中

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);
}

试图复制,但我没有成功。有什么地方我可以读到它,或者有人可以帮助我吗?

4

1 回答 1

2

我认为您正在查看三种不同的 API——Widget API、Notification API 和 Control API。

您引用的 onTouch 代码是 SDK 实用程序类的一部分,如果您制作了一个同时实现了通知 API 和小部件 API 的扩展,它可以为您提供帮助。在手表上的 Widget 视图中,并且您已经覆盖了 NotificationWidgetExtension 类,onTouch 事件将被传递到上述方法。它基本上会显示第一个可用(而不是读取)的通知。

您提到“窗口”等,我猜您想在 SmartWatch 上创建一个应用程序。这是通过控制 API 完成的。查看 SDK 中包含的 SampleControlExtension。检查答案,以获取有关如何从您自己的扩展程序启动控制扩展程序的信息。例如,如果您创建一个 Widget+Control 扩展,您可以在 Widget 的 onTouch 方法中启动 Control 扩展。

于 2013-08-09T08:42:29.877 回答