【问题标题】:Google Glass GDK: updating LiveCards (RemoteViews)Google Glass GDK:更新 LiveCards (RemoteViews)
【发布时间】:2013-11-22 18:32:19
【问题描述】:

使用远程视图更新 LiveCard 时遇到问题。我正在使用此代码发布。我假设您可以使用 TimelineManager.getLiveCard(id) 获取 LiveCard,然后再次发布。我得到的结果是两张 LiveCard。两次发布卡片时,我都使用相同的 ID。
作为一种解决方法,我先取消发布,然后再发布,但这并不是一个平稳的过渡,因为它显示了“Okay Glass”之间的关系。

private void publishCard(Context context) {
    String cardId = "myCard";
    mLiveCard = tm.getLiveCard(cardId);
    mLiveCard.setNonSilent(true);
    RemoteViews rv = new RemoteViews(context.getPackageName(),
            R.layout.activity_vitals_glass);
    rv = updateViews(rv, pr);
    mLiveCard.setViews(rv);
    Intent intent = new Intent(context, MenuActivity.class);
    mLiveCard.setAction(PendingIntent.getActivity(context, 0, intent, 0));
    mLiveCard.publish();
}

updateViews() 方法只是在远程视图上设置文本视图。使用 RemoteViews 更新 LiveCard 的正确方法是什么?

【问题讨论】:

  • 你的activity_vitals_glass.xml是什么样的?

标签: google-glass google-gdk


【解决方案1】:

getLiveCard 会创建一个新的实时卡,因此您应该只在服务启动时调用它一次并缓存您收到的LiveCard 实例。

您还可以同时缓存RemoteViews 实例。要在卡片发布后更新卡片,您只需在调用任何 RemoteViews 设置器后再次手动调用 LiveCard 上的 setViews

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-28
    • 1970-01-01
    • 2014-06-06
    相关资源
    最近更新 更多