Pat*_*ick 3 google-glass google-gdk
使用远程视图更新LiveCard时出现问题.我正在使用此代码发布.我假设您可以使用TimelineManager.getLiveCard(id)获取LiveCard,然后再次发布.我得到的结果是两个LiveCards.我发布卡片的时候我都使用相同的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();
}
Run Code Online (Sandbox Code Playgroud)
updateViews()方法只是在远程视图上设置textviews.使用RemoteViews更新LiveCard的正确方法是什么?
getLiveCard
创建一个新的实时卡,因此您应该只在服务启动时调用它并缓存LiveCard
您收到的实例.
您也可以同时缓存RemoteViews
实例.要更新卡它的发布后,你只需要手动调用setViews
上LiveCard
再次调用任何的后RemoteViews
制定者.