저는 내 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"
}
}
이것은 이상한 것입니다. 미러 API를 사용하는 Java 코드는 어디에 있습니까? insertTimelineItem() 함수는 예외 또는 로그 출력을 생성합니까? 놀이터와 같은 다른 출처의 타임 라인 항목을 삽입 할 수 있습니까? – mimming
안녕 Jenny, 응용 프로그램은 Tomcat7 응용 프로그램 서버에서 실행됩니다. insertTimelineItem()은 예외를 생성하지 않습니다. TimelineItem이 오류없이 타임 라인에 삽입되었습니다. 놀이터에서 타임 라인 아이템을 삽입 할 때도 같은 예외가 발생합니다. 질문을 업데이트하고 예외를 발생시키는 샘플 요청에 추가했습니다. 나는 이것을 보낸 – arikan
안녕하세요 @ 제니 머피, 난 아직도 문제를 해결할 수 없었다. 당신은 그것에 대해 어떤 생각이 있습니까? – arikan