我想编写一个应用程序来监控传入的短信,如果短信内容包含预定义的文本(例如“回家”),就会在手表上通知我。
我知道我可以使用通知 API 来添加事件。它会振动并在手表上显示一个小应用程序图标。如果我想使用控制API在手表收到短信时让LED闪烁并在手表上显示整个文本和图像,我该怎么办?
它与“呼叫处理”插件非常相似。索尼能否开源“来电处理”供参考?
我想编写一个应用程序来监控传入的短信,如果短信内容包含预定义的文本(例如“回家”),就会在手表上通知我。
我知道我可以使用通知 API 来添加事件。它会振动并在手表上显示一个小应用程序图标。如果我想使用控制API在手表收到短信时让LED闪烁并在手表上显示整个文本和图像,我该怎么办?
它与“呼叫处理”插件非常相似。索尼能否开源“来电处理”供参考?
我认为你有两个选择。正如您所说,1)实现一个同时使用通知 API 和控制 API 的扩展。或者 2) 只是实现一个控制扩展。
对于 1),您可以添加一个自定义操作,使用下面的 START_REQUEST 意图启动您的控件扩展。请参阅 SampleNotificationExtension 代码中的 doAction1 方法。这意味着将在手表上显示标准通知,然后如果用户单击自定义操作按钮,您将能够向用户呈现自定义视图。
对于 2),将您的功能完全实现为控制扩展,并在您获得过滤器找到的 SMS 时请求启动它。缺点是您需要自己呈现 SMS 文本,在情况 1) 中由框架为您完成。
START_REQUEST-intent 示例:
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);