Android 微信朋友圈多图分享,不用申请key,不用第三方sdk
16lz
2021-01-23
老规矩先上效果图
下来是代码
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 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 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 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 异步下载图片
- Android 把Layout变成图片
- android之ListView和adapter配合显示图片和文字列表
- Android IntentService用法和源码分析
- [置顶] android Listview分批加载+自动加载(附源码下载)
- android 上传图片到服务器
- Android 实现不同字体颜色的TextView实现代码
- android上文件上传至tomcat服务器源码
- 可以下载Android 源代码的repo源文件