我正在使用Notification API开发一个RSS智能扩展应用程序。我想知道如何获取我的智能扩展的活动/非活动状态(在SmartWatch应用程序中单击我的RSS智能扩展时的第一个复选框)。
NotificationAPI示例使用额外的复选框首选项来启动或不启动下载数据的服务以生成通知,但我不想强制用户进入子菜单并激活数据下载。如果用户激活了我的RSS智能扩展,如果RSS中有一些新项目,他已经期望扩展通知他。
当我的智能扩展被正确地添加到liveware/智能手表应用程序(onRegisterResult)中时,有一个回调需要知道,但我没有找到这个回调来知道智能扩展是否真的处于活动状态。
提前感谢!
发布于 2012-05-11 15:02:30
提供了Smart Extension SDK的SampleNotificationExtension,提供了一些示例:
的事件
在示例扩展中,有一个服务每10秒向通知数据库提供一次,然后在SmartWatch设备上显示。preference活动中的on/off设置仅用于启动和停止为数据库提供数据的循环。
好的。
因此,我猜您希望订阅RSS,并且当新的帖子到达时,您希望它们被传播到SmartWatch。您可能需要启动一个服务,如示例中所示,并且只要手表连接到电话,您可能就应该让该服务一直运行。您可以在此处指定:
@Override
protected boolean keepRunningWhenConnected() {
return true;
}如果您使用SmartExtension实用程序类,您的扩展将自动注册并启动您的服务。在示例扩展中,在注册扩展之后,将执行检查,以查看用户是否已通过首选项激活了扩展。
@Override
public void onRegisterResult(boolean result) {
/.../
boolean isActive = prefs.getBoolean(
getString(R.string.preference_key_is_active), false);
if (isActive) {
startAddData();
}
}如果你愿意,你可以留着它,但这不是必须的。如前所述,它只是用于启动和停止数据馈送。无论如何,你可以在注册后开始RSS检查。
如果用户激活了我的RSS智能扩展,他已经期待着如果RSS中有一些新项目,扩展会通知他。
当服务启动时,您可以检查通知数据库中的内容与RSS提要提供的内容之间的差值。
好吧,这是一个很长的答案,希望能有所帮助!
https://stackoverflow.com/questions/10514095
复制相似问题