我有一個簡單的玻璃應用程序使用GDK來抓取一些文字&拍照。我可以輕鬆創建帶有文本&照片的LiveCard,但是當我嘗試將活動卡轉換爲靜態卡時,當我嘗試將圖像添加到卡時,出現空指針異常。這是我的代碼片段。如果我刪除了對addImage()的調用,它會發布卡片就好了。玻璃:當試圖將圖像添加到靜態卡時空指針異常
Card c = new Card(CompPlayerService.this);
c.setText("you took a picture of " + MyService.this.personName);
Uri uri = Uri.parse(picturePath);
c.addImage(uri); //<-- this is throwing the NPE
timelineManager.insert(c);
當我設置服務中的斷點,我可以看到,picturePath的值不爲空,是我用同樣的確切路徑時,我張貼在相同業務,照片現場卡,工作正常。這裏的例外,我得到:
02-17 15:32:25.049 14120-14120/com.example.glassapp E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.NullPointerException
at com.google.android.glass.app.Card.addImage(Card.java:176)
您正在讀取堆棧跟蹤錯誤。 NPE在類Card的方法addImage中,而不是在那行代碼中,但是更深一層。 Card.java第176行,您必須查看該代碼。我猜這個URI並沒有指向一個有效的圖像。 – cistearns
那爲什麼在現場卡上的圖像完全相同? – Ben
不知道。這就是爲什麼我沒有提出答案的原因,只是NPE實際上並不在你的代碼中,而是在更深層次上。而且由於刪除了線條,人們只能假設它至少與uri相切。也許輸出uri.toString,這樣我們可以看到它,這可能會給其他人一個想法? – cistearns