致命异常:主java.lang.NullPointerException:uriString尝试将图像共享到社交媒体意图Android

时间:2015-07-24 02:04:23

标签: java android facebook android-intent twitter

您好我正在尝试启用我的Android应用程序将应用程序制作的图像发布到Facebook或Twitter或Instagram。我从别人那里复制了一个确切的例子但它仍然不起作用。

public void ShareToSocialMedia(String application) {
Bitmap b =BitmapFactory.decodeResource(getResources(),            
R.mipmap.ic_launcher);
Intent share = new Intent(Intent.ACTION_SEND);
share.setPackage(application);
share.setType("image/jpeg");
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
b.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
String path = MediaStore.Images.Media.insertImage(getContentResolver(),
        b, "Title", null);
 Uri imageUri =  Uri.parse(path);
share.putExtra(Intent.EXTRA_STREAM, imageUri);
startActivity(Intent.createChooser(share, "Select"));
  }

我在第

行收到错误
    Uri imageUri =  Uri.parse(path);

我不知道为什么。有人可以告诉我如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

如果您查看Uri.parse的文档,如果传递的NullPointerExceptionuriString,您会发现它会引发null

然后查看您依赖的MediaStore.Images.Media.insertImage方法获取uriString,文档指出如果图像因任何原因未能存储,则返回null

现在,关于这个原因是什么,你的猜测和我的一样好,但是search on Stackoverflow确实表明有人遇到类似的问题。