首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何知道我的Android SmartWatch扩展是否处于非活动状态?

如何知道我的Android SmartWatch扩展是否处于非活动状态?
EN

Stack Overflow用户
提问于 2012-05-09 18:16:44
回答 1查看 944关注 0票数 2

我正在使用Notification API开发一个RSS智能扩展应用程序。我想知道如何获取我的智能扩展的活动/非活动状态(在SmartWatch应用程序中单击我的RSS智能扩展时的第一个复选框)。

NotificationAPI示例使用额外的复选框首选项来启动或不启动下载数据的服务以生成通知,但我不想强制用户进入子菜单并激活数据下载。如果用户激活了我的RSS智能扩展,如果RSS中有一些新项目,他已经期望扩展通知他。

当我的智能扩展被正确地添加到liveware/智能手表应用程序(onRegisterResult)中时,有一个回调需要知道,但我没有找到这个回调来知道智能扩展是否真的处于活动状态。

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-11 15:02:30

提供了Smart Extension SDK的SampleNotificationExtension,提供了一些示例:

  • 如何通过内容提供商向/从驻留在Liveware管理器应用程序(智能扩展应用编程接口的中枢)中的通知数据库添加/更新/删除/读取数据
  • 如何响应用户在SmartWatch上打开通知并按下操作按钮

的事件

在示例扩展中,有一个服务每10秒向通知数据库提供一次,然后在SmartWatch设备上显示。preference活动中的on/off设置仅用于启动和停止为数据库提供数据的循环。

好的。

因此,我猜您希望订阅RSS,并且当新的帖子到达时,您希望它们被传播到SmartWatch。您可能需要启动一个服务,如示例中所示,并且只要手表连接到电话,您可能就应该让该服务一直运行。您可以在此处指定:

代码语言:javascript
复制
@Override
protected boolean keepRunningWhenConnected() {
    return true;
}

如果您使用SmartExtension实用程序类,您的扩展将自动注册并启动您的服务。在示例扩展中,在注册扩展之后,将执行检查,以查看用户是否已通过首选项激活了扩展。

代码语言:javascript
复制
@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提要提供的内容之间的差值。

好吧,这是一个很长的答案,希望能有所帮助!

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10514095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档