我试图与其他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));
这不起作用
任何有关如何解决这个问题的提示的人都会非常感激!
答案 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