2013-09-16 3 views
2

저는 내 firsrt 유리 제품을 개발하고 있습니다. 다 잘 작동하지만 타임 라인 항목을 공유하면 유리가 충돌합니다. 작업에서 공유 옵션을 선택하면 Glass에서 연락처를 선택하도록 요청합니다. 연락처를 선택하면 공유 진행 상태가 공유 메시지를 표시하고 약 1 초 후 Glass가 예기치 않게 중지되고 Glass Home이 다시 시작됩니다. 콜백 URL 및 타임 라인 항목에 타임 라인에 중복 된 알림 만 표시됩니다. 사용 가능한 삭제 동작 만 있습니다. Glass 로그를 확인한 결과 다음 예외가 발생했습니다.유리에 타임 라인 아이템을 공유 할 때 IllegalStateException이 발생합니다.

09-16 18:45:57.986 18588-18638/? W/dalvikvm: threadid=28: thread exiting with uncaught exception (group=0x40db11f8) 
09-16 18:45:57.994 18588-18638/? E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #12 
     java.lang.IllegalStateException: Expected condition to be true. 
     at com.google.glass.predicates.Assert.assertTrue(Assert.java:82) 
     at com.google.glass.share.ShareTimelineItemJob$4.onExecute(ShareTimelineItemJob.java:305) 
     at com.google.glass.timeline.TimelineHelper$Update.execute(TimelineHelper.java:279) 
     at com.google.glass.timeline.TimelineHelper.atomicUpdateTimelineItem(TimelineHelper.java:638) 
     at com.google.glass.share.ShareTimelineItemJob.updateToFinalShareItem(ShareTimelineItemJob.java:349) 
     at com.google.glass.share.ShareTimelineItemJob.run(ShareTimelineItemJob.java:154) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 
     at java.lang.Thread.run(Thread.java:856) 
09-16 18:45:58.033  189-3487/? W/ActivityManager: Force finishing activity com.google.glass.home/.timeline.MainTimelineActivity 
09-16 18:45:58.088 18588-18588/? I/ShareActivity: onPause: 428d7a80 
09-16 18:45:58.119  697-1145/? W/VoiceEngine: Stopping reading from microphone because read < 0 
09-16 18:45:58.119  697-1145/? W/VoiceEngine: Stopped reading from microphone 
09-16 18:45:58.135  189-494/? I/ActivityManager: START {act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000000 cmp=com.google.glass.home/.timeline.MainTimelineActivity} from pid 0 

Java 예제 프로젝트를 사용하고 있습니다. 그리고 이것은 타임 라인 항목을 삽입 한 코드입니다.

TimelineItem timelineItem = new TimelineItem(); 

List<MenuItem> menuItemList = new ArrayList<MenuItem>(); 
menuItemList.add(new MenuItem().setAction("SHARE")); 
timelineItem.setMenuItems(menuItemList); 

timelineItem.setText("Hello Glass"); 

// Triggers an audible tone when the timeline item is received 
timelineItem.setNotification(new NotificationConfig().setLevel("DEFAULT")); 

MirrorClient.insertTimelineItem(credential, timelineItem); 

내가 뭘 잘못하고 있니?

UPDATE : 나는 운동장에서 다음과 같은 요청을 시도하고이 XE9의 버그했다

{ 
    "kind": "mirror#timelineItem", 
    "id": "1100196a-10b1-4ce4-9639-6e75b5a8c881", 
    "created": "2013-09-17T09:25:29.818Z", 
    "updated": "2013-09-17T09:25:29.818Z", 
    "etag": "\"hzfI85yu0lKQdtWV4PO1jAbQxWw/Tth-2CVHTjXcdWQ64xW2tMt--sk\"", 
    "text": "This item auto-resizes according to the text length", 
    "menuItems": [ 
    { 
     "action": "SHARE" 
    } 
    ], 
    "notification": { 
    "level": "DEFAULT" 
    } 
} 
+1

이것은 이상한 것입니다. 미러 API를 사용하는 Java 코드는 어디에 있습니까? insertTimelineItem() 함수는 예외 또는 로그 출력을 생성합니까? 놀이터와 같은 다른 출처의 타임 라인 항목을 삽입 할 수 있습니까? – mimming

+0

안녕 Jenny, 응용 프로그램은 Tomcat7 응용 프로그램 서버에서 실행됩니다. insertTimelineItem()은 예외를 생성하지 않습니다. TimelineItem이 오류없이 타임 라인에 삽입되었습니다. 놀이터에서 타임 라인 아이템을 삽입 할 때도 같은 예외가 발생합니다. 질문을 업데이트하고 예외를 발생시키는 샘플 요청에 추가했습니다. 나는 이것을 보낸 – arikan

+0

안녕하세요 @ 제니 머피, 난 아직도 문제를 해결할 수 없었다. 당신은 그것에 대해 어떤 생각이 있습니까? – arikan

답변

0

뿐만 아니라 예외가 발생합니다. 공식 이슈 트래커 인 #197에보고되었습니다.

release notes 당 XE10에서 수정되었습니다.