android - 玻璃 : Null pointer exception when trying to add image to Static Card

标签 android service nullpointerexception photo google-glass

我有一个简单的 Glass 应用程序,它使用 GDK 抓取一些文本并拍照。我可以轻松创建带有文本和照片的 LiveCard,但是当我尝试将实时卡片转换为静态卡片时,当我尝试将图像添加到卡片时出现空指针异常。这是我的代码 fragment 。如果我删除对 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)

最佳答案

picturePath 的值是多少?我的预感是您传递的是一个简单的文件系统路径,而不是有效的 file: URI。

您可能需要考虑使用 Uri.fromFile 方法而不是 Uri.parse 来正确处理此问题。

更新:Card 类不再支持使用Uri 参数调用addImage。相反,将图像加载到 Bitmap 中并调用 addImage(Bitmap)

关于android - 玻璃 : Null pointer exception when trying to add image to Static Card,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21841520/

相关文章:

Windows 11 中 Android studio SDK 安装问题

Android:无法在 aidl 文件中找到类 java.util.ArrayList 的导入

mobile - 查询对象 where 函数过滤器

java - 尝试在 java 中设置 double 组时出现 NullPointerException

android - mediaplayer seekTo() 以字节为单位的偏移量

android - RubyMotion - 联合 iOS/Android 开发

android - 将字符串转换为可绘制对象

winapi - 在服务中接收 Windows 消息

android - 在不使用 Activity 的情况下在两个 fragment 之间传递字符串

java - 什么是NullPointerException,我该如何解决?