【问题标题】:How to publish live card in Google Glass before unpublishing the previous instance of the livecard如何在取消发布之前的 livecard 实例之前在 Google Glass 中发布 live card
【发布时间】:2014-05-08 19:23:42
【问题描述】:

因此,我正在使用 GDK 在 Google Glass 上发布 Live Card,但我无法找到在发布新卡片后取消发布卡片的方法。如果我不这样做,它会返回时钟屏幕并且看起来很糟糕。

这是我的 liveCard Publishing,您可以选择一张已经激活的卡片并稍后将其删除吗?我认为这是一个逻辑问题,但我无法完全理解它。

public void makeNotificationCard() {
    RemoteViews aRV = new RemoteViews(this.getPackageName(), R.layout.card_text);
    mNotCard = mTimelineManager.createLiveCard(LIVE_CARD_ID);
    aRV.setTextViewText(R.id.price, bigNum);
    aRV.setTextViewText(R.id.price2, littleNum);
    aRV.setTextViewText(R.id.merchant, shop);
    mNotCard.setViews(aRV);
    Intent mIntent = new Intent(this, MainActivity.class);
    mIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
    mNotCard.setAction(PendingIntent.getActivity(this, 0, mIntent, 0));
    mNotCard.publish(LiveCard.PublishMode.REVEAL);
}

【问题讨论】:

    标签: java android google-glass google-gdk


    【解决方案1】:

    首先,从 XE16 开始,TimelineManager 已被删除。所以而不是:

    mNotCard = mTimelineManager.createLiveCard(LIVE_CARD_ID);
    

    你需要使用

    mNotCard = new LiveCard(context, LIVE_CARD_ID);
    

    关于取消发布,我不完全确定我是否理解您的问题,但您可以致电

    mNotCard.unpublish();
    

    这会将卡片从时间线上移除。如果您在创建新的 LiveCard 之前执行此操作,并且使用 LiveCard.PublishMode.REVEAL 发布新的 LiveCard,它应该直接跳转到那个位置,我使用类似

    public int onStartCommand(Intent intent, int flags, int startId) {
        if (mLiveCard != null) {
            mLiveCard.unpublish();
            mLiveCard.publish(LiveCard.PublishMode.REVEAL);
            return START_STICKY;
        }
        // other stuff to set up card if null
    }
    

    这将确保当命令被触发时,它会将焦点放在 livecard 上。

    希望对您有所帮助。如果我错过了这一点,请告诉我,我会尽力澄清。

    【讨论】:

    • 我尝试过类似的方法,但我发现当我在mLiveCard.unpublish(); 之后使用mLiveCard.publish(LiveCard.PublishMode.REVEAL); 时,它们之间会有一点延迟,这会将应用程序集中在主菜单而不是我的应用程序上。我目前正在使用 XE12 我想我还没有执行最新的更新,因为它可能会影响下周左右的一些演示文稿。
    • 是的,XE16 破坏了我的一些演示。而且我认为您可能会发现 XE16/17 确实使您遇到的问题变得更糟,因为现在当您执行 Reveal 时,它会缩小时间线并显示正在插入的卡,这对于提供上下文很有帮助,但如果您想要它就不是很好无缝。我想问题是你什么时候需要取消发布/重新发布,你能改变显示卡片的内容吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-18
    • 1970-01-01
    • 2013-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多