安卓微信7.0.0,APP无法分享至微信。怎么解决?
安卓更新了微信7.0.0,出现APP无法分享至微信。提示“获取资源失败,无法分享至朋友圈” 各位大神怎么解决?
2 回复
加上
intent.setAction(Intent.ACTION_SEND)
以下是代码
/**
* [@author](/user/author) XY
* [@apiNote](/user/apiNote) 分享多张图片到微信朋友圈
*/
public static void sharePicsToWXFriendCircle(Context context, [@NonNull](/user/NonNull) List<String> filePaths) {
if (!isAppInstalledByName(WX_APP_PACKAGE_NAME)) {
CarLoanOnlineApplication.toast("请先安装微信");
return;
}
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareToTimeLineUI"));
intent.setAction(Intent.ACTION_SEND);//加上这段话就好了-------------------------------
ArrayList<Uri> imageList = new ArrayList<>();
for (String picPath : filePaths) {//这里原来微信可以分享多图,后来只能分享单张,所以这里可以不用遍历,直接获取第一张图片
File f = new File(picPath);
if (f.exists()) {
imageList.add(Uri.fromFile(f));
}
}
if (imageList.size() == 0) {
CarLoanOnlineApplication.toast("分享图片出错:图片不存在");
return;
}
fixShareFileOnN();
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_STREAM, imageList.get(0)); //图片数据(只支持本地图片的Uri形式)
context.startActivity(intent);
}
/**
* 解决android N(>=24)系统以上分享 路径为file://时的 android.os.FileUriExposedException异常
* 因为微信朋友圈分享多张图片需要用到这个,所以需要加下面的代码
*/
private static void fixShareFileOnN() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
StrictMode.setVmPolicy(builder.build());
}
}