帅气大果果

不忘初心,方得始终!

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

老规矩先上效果图

这里写图片描述

下来是代码

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。

源码

支持网络图片的源码

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34471736/article/details/78527798
个人分类: Android 实用小功能
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

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

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭