分享多张图片到微信朋友圈
实现代码如下:
- 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);
- intent.setType("image/*");
- intent.putExtra("Kdescription", title);
- ArrayList<Uri> imageUris = new ArrayList<Uri>();
- for (File f : files) {
- imageUris.add(Uri.fromFile(f));
- }
- intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imageUris);
- startActivity(intent);
就这么简单的几个代码,而且也不用向微信申请Key,测底解决,唯一的缺陷就是不能够实现回调
由于我发送的是网络上获取的图片,为了实现分享,我用了一个颇为复杂的办法,就是把获取到的图片存储在本地,然后再得到图片的file地址,再进行分享:
- for (int i = 0; i < lenght; i++) {
- File file = saveImageToSdCard(images.get(i));
- files.add(file);
- F.makeLog(file.toString());
- }
- public static final File saveImageToSdCard(ImageView image) {
- boolean success = false;
- // F.makeLog(image.toString());
- // Encode the file as a PNG image.
- File file = null;
- try {
- // file = createImageFile();
- file = createStableImageFile();
- } catch (IOException e1) {
- e1.printStackTrace();
- }
- BitmapDrawable drawable = (BitmapDrawable) image.getDrawable();
- Bitmap bitmap = drawable.getBitmap();
- FileOutputStream outStream;
- try {
- outStream = new FileOutputStream(file);
- bitmap.compress(Bitmap.CompressFormat.PNG, 100, outStream);
- // 100 to keep full quality of the image
- outStream.flush();
- outStream.close();
- success = true;
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- if (success) {
- // Toast.makeText(getApplicationContext(), "Image saved with success",
- // Toast.LENGTH_LONG).show();
- return file;
- } else {
- return null;
- }
- }
其中在获取图片地址的时候,如果每次的地址都是新生成的话,那么分享几次,存储空间就都塞满图片了,所以我设置了9个固定的地址,每次有新的分享,就覆盖之前的图片,地址获取代码如下:
- public static File createStableImageFile() throws IOException {
- IMAGE_NAME++;
- String imageFileName = Integer.toString(IMAGE_NAME) + ".jpg";
- File storageDir = AppData.getContext().getExternalCacheDir();
- // File image = File.createTempFile(
- // imageFileName, /* prefix */
- // ".jpg", /* suffix */
- // storageDir /* directory */
- // );
- File image = new File(storageDir, imageFileName);
- // Save a file: path for use with ACTION_VIEW intents
- // mCurrentPhotoPath = "file:" + image.getAbsolutePath();
- return image;
- }
然后在每次分享完后,重置IMAGE_NAME的值, 该方法由于需要先把图片存储在本地,所以颇为费时,不知各位可有其他的实现方式??
分享多张图片到微信朋友圈相关推荐
- 如何实现分享网站文章到微信朋友圈时显示指定缩略图或LOGO
当下朋友圈很火,很多企业都将微信朋友圈作为品牌传播的途径,经常会发一些精彩的文章到微信朋友圈供大家自发传播,这样的想法很好,对于优质的内容,网友们也乐于转发与朋友们分享,对品牌宣传与推广确实是有好处的 ...
- 分享网站文章到微信朋友圈,缩略图怎么设置
在我们的网站网页 html 代码中的<body>之后增加 <img src="http://wap.qd0931.com/wap/sj_zqth/images/logo.j ...
- android 系统自带分享文字+图片到微信朋友圈
/**分享图片**/ public void shareImage(String title, String txt,String imagePath) { Intent intent = new I ...
- php分享网页到微信,分享网页链接到微信朋友圈或朋友
前提 微信自6.5.5版本起对分享网页链接做了限制,如果不接入JSSDK,则分享出去的内容不会显示自定义的图片,而是显示一张默认图片 使用JSSDK进行分享时,需要一个经过微信认证的服务号或者订阅号, ...
- html手机9张图片显示,微信朋友圈九宫格新玩法,显示一张完成的图片,点击有惊喜...
经常会在朋友圈看到一组照片,九张能组成一张完整的照片,点开后显示不同的内容,这种方法非常实用,今天我整理了一下方法.先给大家看一张效果图吧. 其实这样的玩法1号店店庆时已经玩过,不过他们店庆的时候的图 ...
- 分享图片+文字到微信朋友圈
比较坑,昨天刚刚写好了用微信SDK Jar包分享的Dome,但是公司突然又要分享图片+文字,而且还不要网页式的分享,找了半天,发现直接用微信SDK无法做到这一点,所以就只能用Intent直接传值调用了 ...
- APP分享多张图片和文字到微信朋友圈(android 7.0以上适配)
1.微信平台没有提供分享多张图片的SDK,我们只能自己调用系统自带的分享功能实现. 2.实际分享的时候因为是调用系统本地的分享功能,所以分享的图片也就必须要存到本地,不然就会提示获取资源失败而导致分享 ...
- 如何实现分享链接到微信朋友圈时显示自定义LOGO以及名称介绍
当下朋友圈很火,很多企业都将微信朋友圈作为品牌传播的途径,经常会发一些精彩的文章到微信朋友圈供大家自发传播,这样的想法很好,对于优质的内容,网友们也乐于转发与朋友们分享,对品牌宣传与推广确实是有好处的 ...
- 安卓开发仿微信图片拖拽_仿微信朋友圈发表图片拖拽和删除功能
原标题:仿微信朋友圈发表图片拖拽和删除功能 中国联通在香港公布了上市公司2017年中期业绩.2017年上半年,公司主要业绩指标持续向好,收入稳步回升,服务收入达到人民币1,241.1亿元,同比增长3. ...
最新文章
- smobiler介绍(二)
- Python 学习之二: module, import 与 import as
- CS0136 无法在此范围中声明名为“channel”的局部变量或参数,因为该名称在封闭局
- python语言表白语句简单_简短的表白语句
- 程序员面试算法_程序员的前20个搜索和排序算法面试问题
- MATLAB读取文件夹中所有图像
- Confluence 6 示例 - https://confluence.atlassian.com/
- AOP 基本术语及其在 Spring 中的实现
- 【Android】 Android实现录音、播音、录制视频功能
- Ubuntu14.10安装Eclipse
- picker从后台取数据
- python输出去掉空格
- 最新版的Python写春联,支持行书隶书楷书,不再有缺失汉字
- 【量子信息与量子计算简明教程|陈汉武】阅读笔记1——第一章 量子信息与量子计算的基础概念
- 日志:实现微信公众号自动问答机器人(待整理)
- c语言将大小写字母互换,C语言编程:大小写互换
- 简单明了的普利姆算法
- awesome-spider
- Android-jni(10)-jni调用java父类方法
- Google 人工智能基本原则