java - 不支持 Android Share Intent 文件格式

标签 java android android-intent share whatsapp

我正在尝试分享我的可绘制文件夹中的图像。它以前有效,但现在出于某种原因,每当我尝试共享时,我都会选择要共享的人,它会给我一条消息:“不支持文件格式”。出于某种原因,我无法与 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

最佳答案

我通过添加位图并将权限 android.permission.WRITE_EXTERNAL_STORAGE 添加到 list 中解决了这个问题

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

然后将 imgBitmapUri 添加为额外流。

关于java - 不支持 Android Share Intent 文件格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37610868/

相关文章:

android - 为 ImageView 实现 GestureDetector

android - 从手机控制嵌入式系统。 Android 还是 iOS?请提出建议和解释

Android ACTION_IMAGE_CAPTURE Intent

java - 在 Activity 之间传递 token Google Cloud Messaging

java - 使用 spring ExceptionHandler 时,声纳违规未检查/未确认的异常转换

java - 单点登录框架

java - NoClassDefFoundError:在Jenkins上使用SSHJ时,org/bouncycaSTLe/openssl/PEMParser

java - 准确(方位角)罗盘方向 Android 3.2 平板电脑

android - twitter4j 代码不适用于 ICS 和 JellyBean

java - 将 XML 代码应用于多个 xml 元素