【问题标题】:Android Share Intent file format not supported不支持 Android Share Intent 文件格式
【发布时间】:2016-10-03 07:30:35
【问题描述】:

我正在尝试共享我的可绘制文件夹中的图像。它以前有效,但现在由于某种原因,每当我尝试分享时,我都会选择分享给的人,它会给我一条消息,上面写着:“不支持文件格式”。出于某种原因,我无法与 Whatsapp 共享它,但我可以与其他应用程序(如 snapchat)共享它。所以我知道它得到了正确的图像。

这是我的分享代码:

Uri imageUri;
imageUri = Uri.parse("android.resource://" + getPackageName() + "/drawable/" + "image" + String.valueOf(mViewPager.getCurrentItem() + 1));
//imageUri = Uri.parse("android.resource://" + getPackageName() + R.drawable.image1);
Log.d("Sharing", "android.resource://" + getPackageName() + "/drawable/" + "image" + String.valueOf(mViewPager.getCurrentItem() + 1));
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
//sharingIntent.putExtra(Intent.EXTRA_TEXT, "Ha Ha! Check out this picure I got with todays date! Download the app: http://www.google.com");
sharingIntent.setType("image/jpg");
sharingIntent.putExtra(Intent.EXTRA_STREAM, imageUri);
sharingIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(Intent.createChooser(sharingIntent, "Share via"));

这是我从日志中得到的错误,但我没有使用 ArrayList 进行共享。

W/Bundle: Key android.intent.extra.STREAM expected ArrayList but value was a android.net.Uri$StringUri.  The default value <null> was returned.

以及 Log.d 打印出来的内容:

D/Sharing: android.resource://com.trommelen.okke.scheurkalender/drawable/image155

【问题讨论】:

  • 请分享该日志打印出来的内容
  • @Neil 添加了日志
  • 谢谢,但我的意思是这一行。 Log.d("共享", "android.resource://" + getPackageName() + "/drawable/" + "image" + String.valueOf(mViewPager.getCurrentItem() + 1));
  • @Neil 添加了日志
  • 你的drawable文件夹中有这张图片吗?

标签: java android android-intent share whatsapp


【解决方案1】:

我已经通过添加位图解决了这个问题,并将权限android.permission.WRITE_EXTERNAL_STORAGE 添加到 Manifest

Bitmap imgBitmap=BitmapFactory.decodeResources(getResources(),R.drawable.image1);
String imgBitmapPath=Images.Media.insertImage(getContentResolver(),imgBitmap,"title",null);
Uri imgBitmapUri=Uri.parse(imgBitmapPath);

然后将imgBitmapUri 添加为额外的流。

【讨论】:

  • 您可能希望使这个答案更具可读性(这种形式的代码看起来相当糟糕)。
  • 这可以编译吗?我不是 Android 开发人员,但 getContetResolver 看起来不对。就像androi.permission
  • 是的,我没有看到这些错误,我只是修复了它们。
猜你喜欢
  • 2018-01-26
  • 1970-01-01
  • 1970-01-01
  • 2015-03-30
  • 2015-12-01
  • 2019-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多