Android 微信分享 多張圖片

備注:

①.這個(gè)不用導(dǎo)入微信的jar和注冊(cè)微信的APP_ID 。
②. 實(shí)際上分享時(shí)是調(diào)用系統(tǒng)本地的分享功能,所以分享的圖片必須要保存到本地。
③. 保存到本地是耗時(shí)操作 分享的代碼需要在子線程執(zhí)行 。

分享

1.分享到微信好友


// 圖片地址List  
 final List<String> urlList= new ArrayList<>();
// 圖片F(xiàn)ile 
 final List<File> files = new ArrayList<>();
 for (int i = 0; i < urlList.size(); i++) {
//網(wǎng)絡(luò)圖片保存到本地
  File file = Util.saveImageToSdCard(getContext(), urlList.get(i));
  files.add(file);
}
//分享的圖片集合
ArrayList<Uri> imageUris = new ArrayList<Uri>();
 for (File f : files) {
 imageUris.add(Uri.fromFile(f));
}
//分享到微信好友
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.setType("image/*");
intent.putExtra(Intent.EXTRA_STREAM, imageUris);
startActivity(intent);

2.分享到微信朋友圈


// 圖片地址List  
 final List<String> urlList= new ArrayList<>();
// 圖片F(xiàn)ile 
 final List<File> files = new ArrayList<>();
 for (int i = 0; i < urlList.size(); i++) {
//網(wǎng)絡(luò)圖片保存到本地
  File file = Util.saveImageToSdCard(getContext(), urlList.get(i));
  files.add(file);
}
//分享的圖片集合
ArrayList<Uri> imageUris = new ArrayList<Uri>();
 for (File f : files) {
 imageUris.add(Uri.fromFile(f));
}
//分享到微信朋友圈
Intent weChatIntent = new Intent();
weChatIntent.setComponent(new ComponentName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareToTimeLineUI"));
if (imageUris.size() == 0) return;
weChatIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
weChatIntent.setType("image/*");
weChatIntent.putExtra(Intent.EXTRA_STREAM, imageUris);
weChatIntent.putExtra("kdescription", data.get(i).Content.trim()); //分享描述
getContext().startActivity(weChatIntent);


補(bǔ)充 Util.saveImageToSdCard 代碼



    public static String IMAGE_NAME = "iv_share";
    public static int  i =0;

    //根據(jù)網(wǎng)絡(luò)圖片url路徑保存到本地
    public static final File saveImageToSdCard(Context context, String image) {
        boolean success = false;
        File file = null;
        try {
            file = createStableImageFile(context);
            Bitmap bitmap = null;
            URL url = new URL(image);
            HttpURLConnection conn = null;
            conn = (HttpURLConnection) url.openConnection();
            InputStream is = null;
            is = conn.getInputStream();
            bitmap =  BitmapFactory.decodeStream(is);
            FileOutputStream outStream;
            outStream = new FileOutputStream(file);
            bitmap.compress(Bitmap.CompressFormat.PNG, 100, outStream);
            outStream.flush();
            outStream.close();
            success = true;
        } catch (Exception e) {
            e.printStackTrace();
        }

        if (success) {
            return file;
        } else {
            return null;
        }
    }

    //創(chuàng)建本地保存路徑
    public static File createStableImageFile(Context context) throws IOException {
        i++;
        String imageFileName =IMAGE_NAME + i+ ".jpg";
        File storageDir = context.getExternalCacheDir();
        File image = new File(storageDir, imageFileName);
        return image;
    }

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容