我有一个简单的Glass应用程序,使用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的值不为null,并且与我从同一服务将照片发布到活动卡时使用的确切路径相同,效果很好。这是我得到的例外:
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)
最佳答案
picturePath
的值是什么?我的直觉是您传递的是简单的文件系统路径,而不是有效的file:
URI。
您可能要考虑使用Uri.fromFile
方法而不是Uri.parse
来正确处理此问题。
更新:Card
类不再支持使用addImage
参数调用Uri
。而是将图像加载到Bitmap
并调用addImage(Bitmap)
。
关于android - Glass:尝试将图像添加到静态卡时出现空指针异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21841520/