您好,我正在尝试启用我的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);


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

最佳答案

如果查看Uri.parse的文档,则会发现如果传递的NullPointerExceptionuriString,它将抛出null

然后查看获取MediaStore.Images.Media.insertImage所依赖的uriString方法,文档指出如果由于任何原因导致图像存储失败,它将返回null

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

07-28 09:40