0

Glassware によってタイムライン カードが更新された後、更新されたタイムライン カードのみを Glass に表示することは可能ですか。現在、Glass で古いタイムライン カードと更新されたタイムライン カードを確認できますが、タイムスタンプが明らかに異なります。

コード付きの詳細な説明は次のとおりです。- NewUserBootstrapper と NotifyServlet の 2 つの Java クラスがあります。NewUserBootstrapper は、認証、連絡先の挿入、サブスクリプションの挿入を含むブートストラップを処理します。これは、ブートストラップの一部としてタイムライン アイテムを挿入するためのコードです。

// Send a timeline item
TimelineItem timelineItem = new TimelineItem();
timelineItem.setText("Hello");
timelineItem.setNotification(new NotificationConfig().setLevel("DEFAULT"));
TimelineItem insertedItem = MirrorClient.insertTimelineItem(credential, timelineItem); 

NotifyServlet では、サービスが「メモを取る」音声コマンドの一部としてタイムラインへの変更を通知された後、NotifyServlet は同じタイムライン アイテムのテキストを更新しようとします。

  if (notification.getCollection().equals("timeline")) {
     // Get the impacted timeline item
     TimelineItem timelineItem =  
     mirrorClient.timeline().get(notification.getItemId()).execute();

 //Take a note
 if (notification.getUserActions().contains(new UserAction().setType("LAUNCH")))
 {
   final TimelineItem noteItem = mirrorClient.timeline()
                .get(notification.getItemId()).execute();

   final String spokenText = noteItem.getText();

   if ( spokenText.toUpperCase().contains("DONE") 
                  || spokenText.toUpperCase().contains("LIST"))
   {        
      noteItem.setText("Hello Glassware");
          MirrorClient.
              getMirror(credential).timeline().update(notification.getItemId(),  
              noteItem).execute();          
       }
}
 }

タイムライン カードの更新は行われますが、両方のカードが表示されます。1 つは「Hello」テキスト、もう 1 つは「Hello Glassware」テキストですがタイムスタンプが異なります。更新されたタイムライン カードだけが表示されることを期待していました。

4

1 に答える 1

0

ここでの問題は、間違ったカードを更新しようとしていることにあると思います。元のカードを として保存しますが、その後、の IDinsertedItemを使用して更新を投稿します。notification

Glassware または Glass で行うすべてのアクションによって、カード (したがって ID) が生成されることに注意してください。そのため、音声アクションによってカードが生成され、タイムラインに保存されます。このカードを編集する (より適切にフォーマットする) か、Glassware からカードを削除して、カードを受け取って対応したことを示すのが一般的です。

つまりinsertedItem、Glassware から 1 つのカード ( ) を作成し、別のカードを生成する音声コマンド (notificationを に読み込んでnoteItem) を発行し、2 番目のカードを更新しています。本当に最初のカードを更新したいようですので、更新する必要がありますinsertedItem

于 2013-09-18T11:11:15.010 に答える