与文本和图像共享意图会在Android中产生错误

时间:2015-08-16 00:39:09

标签: android android-intent

我试图与其他Android应用分享文字和图片的意图,但我似乎无法让它发挥作用。我一直在关注此文档:https://developer.android.com/training/sharing/send.html,但它似乎无法正常工作或我做错了。

这是我用来创建此意图的代码:

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
sendIntent.putExtra(Intent.EXTRA_TEXT, "https://play.google.com/store/apps/details?id=game.bounce");
sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("android.resource://game.bounce/"+R.mipmap.logo));
sendIntent.setType("*/*");
startActivity(Intent.createChooser(sendIntent, "Share using:"));

当我去运行我的意图时,会抛出此错误:

W/Bundle﹕ Attempt to cast generated internal exception:
java.lang.ClassCastException: android.net.Uri$StringUri cannot be cast to java.util.ArrayList

特别是我试图与Facebook分享这个,Facebook应用也会产生这个错误:

Please attach photos or a single video.

我一直猜测这条线可能会产生错误:

sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("android.resource://game.bounce/"+R.mipmap.logo));

但我也试过这个:

sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("https://path.to.my.image));

这不起作用

任何有关如何解决这个问题的提示的人都会非常感激!

1 个答案:

答案 0 :(得分:0)

java.lang.ClassCastException: android.net.Uri$StringUri cannot be cast to java.util.ArrayList

你意图接受一个ArrayList对象,但你给了他一个Uri对象。

ArrayList<Uri> imageUris = new ArrayList<Uri>();
imageUris.add(imageUri1); // Add your image URIs here