Возникла проблема с обновлением LiveCard с помощью удаленных представлений. Я публикую, используя этот код. Я предполагаю, что вы можете получить LiveCard, используя TimelineManager.getLiveCard(id), а затем снова опубликовать. В результате я получаю две LiveCards. Я использую один и тот же идентификатор каждый раз, когда публикую карточки.
В качестве обходного пути я сначала отменяю публикацию, а затем публикую, но это не плавный переход, поскольку между ними отображается «Окей-стекло».
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() просто устанавливает текстовые представления в удаленном представлении. Как правильно обновить LiveCard с помощью RemoteViews?