您好我正在尝试启用我的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);
我不知道为什么。有人可以告诉我如何解决这个问题吗?
答案 0 :(得分:1)
如果您查看Uri.parse
的文档,如果传递的NullPointerException
为uriString
,您会发现它会引发null
。
然后查看您依赖的MediaStore.Images.Media.insertImage
方法获取uriString
,文档指出如果图像因任何原因未能存储,则返回null
。
现在,关于这个原因是什么,你的猜测和我的一样好,但是search on Stackoverflow确实表明有人遇到类似的问题。