分享失敗敏簿,多文件分享僅支持照片格式
使用原生的分享代碼分享圖片
//分享到微信好友列表
Intent intent =new Intent();
ComponentName componentName =new ComponentName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareImgUI");
if (imageUris.size() ==0)return;
intent.setComponent(componentName);
intent.setAction(Intent.ACTION_SEND_MULTIPLE);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imageUris);
intent.setType("image/*");
//這個(gè)是單張圖片分享到微信好友列表
//? intent.setAction(Intent.ACTION_SEND);
//? intent.putExtra(Intent.EXTRA_STREAM, imageUris.get(0));
startActivity(intent);
Android7.0分享朋友圈FileProvider生成的Uri無(wú)法被識(shí)別
http://www.reibang.com/p/796c28011dc2
http://www.reibang.com/p/796c28011dc2
一切都正常得湘,但是為什么會(huì)有這樣的提示募狂,百般無(wú)奈只能上谷歌,一查诞帐,原來(lái)有些應(yīng)用對(duì)于FileProvider生成的Uri無(wú)法識(shí)別欣尼,需要轉(zhuǎn)化成MediaStore 的 content://。
public static UrigetImageContentUri(Context context, File imageFile) {
String filePath = imageFile.getAbsolutePath();
? ? Cursor cursor = context.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
? ? ? ? ? ? new String[]{MediaStore.Images.Media._ID}, MediaStore.Images.Media.DATA +"=? ",
? ? ? ? ? ? new String[]{filePath}, null);
? ? Uri uri =null;
? ? if (cursor !=null) {
if (cursor.moveToFirst()) {
int id = cursor.getInt(cursor.getColumnIndex(MediaStore.MediaColumns._ID));
? ? ? ? ? ? Uri baseUri = Uri.parse("content://media/external/images/media");
? ? ? ? ? ? uri = Uri.withAppendedPath(baseUri, "" + id);
? ? ? ? }
cursor.close();
? ? }
if (uri ==null) {
ContentValues values =new ContentValues();
? ? ? ? values.put(MediaStore.Images.Media.DATA, filePath);
? ? ? ? uri = context.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
? ? }
return uri;
}
這樣就不是?分享失敗景埃,多文件分享僅支持照片格式
另外微信分享到 朋友圈應(yīng)該是這個(gè)媒至。。
Intent intent = new Intent();
? ? ? ? ComponentName componentName = new ComponentName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareToTimeLineUI");?
? ? ? ? intent.setComponent(componentName);?
? ? ? ? intent.setAction(Intent.ACTION_SEND);?
? ? ? ? intent.setType("image/*");?
? ? ? ? intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));?
? ? ? ? startActivity(intent);?
————————————————
版權(quán)聲明:本文為CSDN博主「起猿」的原創(chuàng)文章谷徙,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明驯绎。
原文鏈接:https://blog.csdn.net/gaoshouxiaodi/article/details/40589903