Android 微信朋友圈多图分享,不用申请key,不用第三方sdk

原创 2017年11月14日 10:27:45

老规矩先上效果图

这里写图片描述

下来是代码

MainActivity.java

package com.example.myapplication;

import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import java.io.File;
import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

    private Button button;
    ArrayList<String> paths = new ArrayList<>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        File myFile = new File(Environment.getExternalStorageDirectory().getAbsolutePath()
         + File.separator + "DCIM" + File.separator + "Camera");

        File[] files = myFile.listFiles();
        if (files != null){
            for (File file:files) {
                if (file.getName().endsWith("jpg")){
                    if (paths.size() <8){
                        paths.add(file.getAbsolutePath());
                    }else {
                        break;
                    }
                }

            }
        }

        if(!isApkInstalled(this, "com.tencent.mm")){
            Toast.makeText(this,"没有安装微信",Toast.LENGTH_SHORT).show();
            return;
        }
        button = findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                shareMoreImageToWXCirle(MainActivity.this,"哈哈哈哈哈哈哈",paths);
            }
        });
    }

    /**
     * 判断一个apk是否安装
     *
     * @param context
     * @param packageName
     */
    public boolean isApkInstalled(Context context, String packageName) {
        PackageManager pm = context.getPackageManager();
        try {
            pm.getPackageInfo(packageName, 0);
        } catch (PackageManager.NameNotFoundException e) {
            return false;
        }
        return true;
    }



    private  void shareMoreImageToWXCirle(Context context , String Kdescription , ArrayList<String> paths){
        Log.e("paths",paths.toString());
        Intent intent = new Intent();
        ComponentName comp = new ComponentName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareToTimeLineUI");
        intent.setComponent(comp);
        intent.setAction(Intent.ACTION_SEND_MULTIPLE);
        ArrayList<Uri> imagelist = new ArrayList<>();
        for (String picPath: paths) {
            File file = new File(picPath);
            if (file.exists()){
                imagelist.add(Uri.fromFile(file));
            }
        }

        if (imagelist.size() == 0){
            Toast.makeText(context,"图片不存在",Toast.LENGTH_SHORT).show();
            return;
        }

        Log.e("遍历图片加入list",System.currentTimeMillis()+"");
        intent.setType("image/*");
        intent.putExtra(Intent.EXTRA_STREAM,imagelist);//图片数据,支持本地uri
        intent.putExtra("Kdescription", Kdescription);//内容描述
        context.startActivity(intent);
        Log.e("跳转",System.currentTimeMillis()+"");


    }



}

完了,没错,就是这么简单粗暴。代码比较乱,只是个简单demo。

源码

支持网络图片的源码

版权声明:本文为博主原创文章,未经博主允许不得转载。

Android之ShareSDK第三方分享(不用申请ID)只限微信朋友圈跟QQ

首先可以先去MOB 官网下载开发文档    http://www.mob.com/#/ 进入ShareSDK解压目录,打开“Share SDK for Android”目录,可以找到“Qui...
  • Roshen_android
  • Roshen_android
  • 2016年11月01日 19:07
  • 2124

微信分享 不借助新版sdk 的分享方法

微信在2014.12.30把所谓的大家普遍使用的weixinbridge的分享方式漏洞修复了, 然后在新版(6.0.2)的微信当中增加了官方的weixin的sdk,其中有分享的部分 当然使用新版...
  • snow_finland
  • snow_finland
  • 2015年01月28日 12:24
  • 2255

Android Studio获取SHA1、MD5以及申请第三方平台key

这两天在写些定位天气之类的demo,因此到高德开发者平台上申请SDK,大家都知道使用这些第三方平台都要为自己的应用申请唯一的key,申请key就需要查看数字签名的SHA1或MD5码,这两天找了相关的内...
  • Jali_li
  • Jali_li
  • 2016年03月11日 18:05
  • 634

android 实现微信分享多张图片的功能

昨天公司老大通知客户改需求了,原来的微信分享改成分享多张图片,然后屁颠屁颠跑到微信平台看了以后 心里千万只草泥马狂奔而过,微信平台没有提供分享多张的SDK有木有啊,我们只能自己调用系统自带的分享功能实...
  • XuWei1213
  • XuWei1213
  • 2017年11月16日 10:00
  • 2029

android 调用本地微信自定义多图分享朋友圈,可放在share sdk中一起使用

Android share sdk自定义分享,调用系统多图分享到微信
  • qq_27030835
  • qq_27030835
  • 2016年03月08日 16:36
  • 1056

微信分享api一次发送多张图片到朋友圈

通过微信提供的api是暂时只能实现分享一张图片,如果想分享多张只能
  • mingyue_1128
  • mingyue_1128
  • 2014年10月13日 10:02
  • 4614

试用友盟SDK实现Android分享微信朋友圈

社会化分享是目前必学且火热的功能。之前有写第三方登录,那只是社会化分享的一部分。今天来玩玩分享微信朋友圈。    为了方便操作,还是按照步骤写。 一,注册    注册应用已经在这里详细说明过了,...
  • dengyanyi11
  • dengyanyi11
  • 2015年07月27日 14:07
  • 1923

不用微信SDK实现图片分享或文字分享

1.把图片分享给朋友 //分享图片给朋友(不用微信sdk) private void shareToFriend(Uri u){ Intent intent = new Intent(); ...
  • QUBUBING
  • QUBUBING
  • 2016年04月02日 12:45
  • 1286

Android应用实现微信分享(微信好友,朋友圈),分享链接,图片,文字

本次和大家分享这几天一直在研究的微信(微信好友,朋友圈)分享,以及近期以来的学习心得!...
  • small_and_smallworld
  • small_and_smallworld
  • 2017年09月04日 14:14
  • 1722

app 多图片分享至微信朋友圈

由于微信分享的sdk 只能一张图片,大多数情况想展示多个图片,怎么办?     private static void shareMultiplePicture(Context context, Fi...
  • iloveyoueveryday
  • iloveyoueveryday
  • 2016年04月05日 18:12
  • 747
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android 微信朋友圈多图分享,不用申请key,不用第三方sdk
举报原因:
原因补充:

(最多只允许输入30个字)