致命异常:main java.lang.NullPointerException:uriString试图向社交媒体共享图像
你好,我正在尝试使我的android应用程序能够将应用程序生成的图像发布到facebook、twitter或instagram。我从别人那里复制了一个完全相同的例子,但仍然不起作用致命异常:main java.lang.NullPointerException:uriString试图向社交媒体共享图像,java,android,facebook,android-intent,twitter,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 = n
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);
我不知道为什么。有人能告诉我如何解决这个问题吗?如果您查看文档,您会发现如果传递的
uriString
为null
,它会抛出NullPointerException
然后查看获取uriString
所依赖的方法,文档说明,如果由于任何原因无法存储图像,它将返回null
现在,关于这个原因是什么,你的猜测和我的一样好,但a确实表明有人遇到类似的问题。路径的价值是什么。尝试记录路径的值。路径的值为MediaStore.Images.Media.insertImage(getContentResolver(),b,“Title”,null);啊,我知道为什么它说它是空的了。因此,方法MediaStore.Images.Media.insertImage访问外部存储器,但当您的手机插入计算机时,外部存储器会被阻塞。。。因此,基本上,您可以在不插入电源的情况下运行此应用程序(这是您通常使用的应用程序)