最终的效果图,右下角微信多图为自定义调用系统分享,分享到微信。

在你能正常调用share sdk的时候想在原本的基础上加自定义的分享非常的简单。

它的官网已经给出了代码,但是给的不是很清楚。

lz毕竟是新手所以去问了客服(问第一个给我的是错误答案,坑了我。问了第二个才让我写了出来),下面直接上代码。

在源码里面有写好的添加方法,直接调用即可(在OnekeyShare类里)

在你调用分享的类里加上:

//自定义分享,微信多图分享Bitmap enableLogo = BitmapFactory.decodeResource(context.getResources(),R.mipmap.sharepic);Bitmap disableLogo = BitmapFactory.decodeResource(context.getResources(),R.mipmap.sharepic);String label = "微信多图";View.OnClickListener listener = newView.OnClickListener() {

public voidonClick(View v) {

}

};

上面的两个logo是显示的图片,label是下面的名字,再接着下面就是点击你加分享的点击事件了。

上面的写完调用添加自定义分享的方法:

oks.setCustomerLogo(enableLogo,disableLogo,label,listener);// 启动分享GUIoks.show(context);

oks是  OnekeyShare oks = new OnekeyShare;

这样子就可以在share sdk的原基础上完成你自定义添加的分享了。

下面说调用系统的分享,多图分享到微信:

这个是最终分享的效果图,你还可以自行的添加或删除分享的图片。

微信官网给出的分享只能分享一张图片,想要发多张(微信朋友圈最多只能发九张图片)怎么办呢?每个手机的系统分享可调微信多图分享。 好了不扯了,下面上代码:

private staticRunnable saveFileRunnable= newRunnable(){

@Overridepublic voidrun() {

try{

for(inti = 0;i < 9;i++) {

String[] ss = stringss[i].split("/");booleansaveTrue = MyTools.downloadLyWithName(AppStatic.Url_Base+stringss[i],ss[5],fileName,mContext);}

// 遍历 SD 卡下 .png 文件通过微信分享File file = newFile(Environment.getExternalStorageDirectory() + "/BangMai/images/"+ fileName);File[] files = file.listFiles(newFileFilter() {

@Overridepublic booleanaccept(File pathname) {

if(pathname.getName().endsWith(".jpg")) {

return true;}

return false;}

});Intent intent = newIntent();ComponentName comp = newComponentName("com.tencent.mm","com.tencent.mm.ui.tools.ShareToTimeLineUI");intent.setComponent(comp);intent.setAction(Intent.ACTION_SEND_MULTIPLE);intent.setType("image/*");ArrayList imageUris = newArrayList();for(File f : files) {

imageUris.add(Uri.fromFile(f));}

intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM,imageUris);intent.putExtra("Kdescription","我分享成功啦!!!!!!");// 这里可要可不要,这句话的意思是直接会显示在发表时候的文字mContext.startActivity(intent);} catch(Exception e) {

e.printStackTrace();}

}

};

调用方法:

newThread(saveFileRunnable).start();

在你的OnClick事件里面加上这句就可以了。

因为是调用系统分享的方法,所以你要分享的图片必须要下载到本地分享的时候再从本地取出。try里面的第一个for是我自己写的下载图片的方法,你可以换成你自己写的。

这样子就可以在你的程序中调用系统的多图分享,分享到微信了。

最面是我的图片下载类:

// 保存带名称的图片public staticBoolean downloadLyWithName(String url,String imgName,String fileName,Context mContext) throwsException {

Bitmap bitmap1 = null;byte[] data1 = getImage(url);if(data1 != null) {

bitmap1 = BitmapFactory.decodeByteArray(data1,0,data1.length);// bitmapsaveImgWithName(bitmap1,imgName,fileName,mContext);return true;} elsereturn false;}

public static byte[] getImage(String path) throwsException {

URL url = newURL(path);HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setConnectTimeout(5* 1000);conn.setRequestMethod("GET");InputStream inStream = conn.getInputStream();if(conn.getResponseCode() == HttpURLConnection.HTTP_OK) {

returnreadStream(inStream);}

return null;}

//保存图片带名称public static voidsaveImgWithName(Bitmap bitmap,String imgName,String fileName,Context mContext) {

if(bitmap != null) {

File appDir = newFile(Environment.getExternalStorageDirectory() + "/BangMai/");if(!appDir.exists()) {

appDir.mkdirs();}

if(fileName != null){

appDir = newFile(Environment.getExternalStorageDirectory() + "/BangMai/images/"+ fileName);if(!appDir.exists()) {

appDir.mkdirs();}

}

File file = null;file = newFile(appDir,imgName);try{

FileOutputStream fos = newFileOutputStream(file);if(null!= fos) {

bitmap.compress(Bitmap.CompressFormat.JPEG,100,fos);fos.flush();fos.close();}

} catch(FileNotFoundException e) {

e.printStackTrace();} catch(IOException e) {

e.printStackTrace();}

// // 其次把文件插入到系统图库// try {// MediaStore.Images.Media.insertImage(mContext.getContentResolver(), file.getAbsolutePath(), imgName, null);// } catch (FileNotFoundException e) {// e.printStackTrace();// }// // 最后通知图库更新// mContext.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + Environment.getExternalStorageDirectory() + "/BangMai/")));}

}

end

android微信自定义分享代码,android 调用本地微信自定义多图分享朋友圈,可放在share sdk中一起使用...相关推荐

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

    最终的效果图,右下角微信多图为自定义调用系统分享,分享到微信. 在你能正常调用share sdk的时候想在原本的基础上加自定义的分享非常的简单. 它的官网已经给出了代码,但是给的不是很清楚. lz毕竟 ...

  2. 微信首页制作代码Android,微信满屏代码

    微信满屏代码软件可以在微信或者qq的聊天栏中产生各种代码乱飞或者流行坠落的图案,小西整理了各种好玩又好看的微信满屏代码,用起来也会非常的有意思的,另外还有独特的技巧提供给大家. 微信满屏代码说明 主要 ...

  3. iOS 能实现一键分享多图到朋友圈吗

    需求是能完成调用微信一键分享多图到朋友圈效果如图 转载于:https://www.cnblogs.com/codingStorys/p/5588596.html

  4. linux 查看新增文件夹记录_微信7.0.23测试版,新增查看访客记录,朋友圈内容能折叠?...

    微信7.0.23测试版,新增查看访客记录,朋友圈内容还能折叠? 笔者昨天在上网时,看到微信内测7.0.23测试版消息,于是便抢先进行了体验,发现了一些测试功能,比如视频号查看访客浏览记录,还有正在测试 ...

  5. android qq 分享代码,Android将内容分享到QQ和微信实例代码

    具体代码如下所示: package dmpte.sharewechat; import android.annotation.SuppressLint; import android.app.Acti ...

  6. Android微信通讯录界面代码,Android中使用Expandablelistview实现微信通讯录界面

    之前的博文<Android 中使用ExpandableListView 实现分组的实例>我简单介绍了使用ExpandableListView实现简单的好友分组功能,今天我们针对之前的所做的 ...

  7. Android实现分享代码,Android 分享功能的实现代码

    Android 分享功能的实现代码 一个Activity中,取出设备上安装的所有支持分享动作的Activity,在grid中显示. 实例代码: /** * 分享activity */ public c ...

  8. android开发文字滚动代码,android实现滚动文本效果

    本文实例为大家分享了android实现滚动文本效果的具体代码,供大家参考,具体内容如下 效果图 实现方法 直接上代码 首先是一个自定义layout,继承自FrameLayout public clas ...

  9. android实时监控屏幕代码,Android 屏幕切换监听的实例代码

    昨天,我试着在屏幕切换时,使View显示在不同的位置,在网上搜索了一些资料,自己做了一段时间,终于完成了功能. 由于屏幕切换会调用activity的各个生命周期,所以需要在manifest的activ ...

最新文章

  1. 有哪些好用的远程办公软件推荐?
  2. python3字符编码错误
  3. sql--找含有制定字符列的表
  4. 全新章节抢先读 | 揭秘覆盖全端业务的文娱大前端技术
  5. SQL Server连接中的常见错误
  6. 使用caffe自带模型训练cifar10数据集
  7. matlab接口编程配置,MATLAB与外部程序接口编程
  8. Chrome插件hoxx
  9. 供给、需求、有效供给、有效需求
  10. MATLAB基本介绍(1)
  11. OA系统新流程创建与管理办法
  12. 【 Vue 】暗黑模式切换
  13. Gerrit升级和升级后的check(包括gerrit mirror 服务器上的升级)
  14. elementui后台管理demo
  15. Python-列表切片list[-1]、list[-1:]、list[:-1]、list[::1]、list[::-1]的区别
  16. pb 制作程序运行报错界面
  17. 手持gps坐标设置_70迈行车记录仪A500:2.7K高清录制,内置GPS电子狗
  18. “疯狂”抗癌史:从以毒攻毒,再到用犯人进行试验,成就一个诺奖
  19. 介绍一种音频信号分类方法
  20. python基于php+MySQL的个人网站的设计与实现

热门文章

  1. 必不可少的Firefox插件(一)
  2. 15. Linux系统中的磁盘管理
  3. 用计算机升级ipad系统软件,iPad如何升级系统?三种ipad升级系统的方法汇总
  4. 外网访问群晖NAS VMM搭建Openwrt的admin界面
  5. 【设计模式】一、是什么,为什么,怎么学
  6. linux .net 控制台应用程序,使用 Visual Studio Code 创建 .NET 控制台应用程序 - .NET | Microsoft Docs...
  7. python电话号码对应的字符组合_Python3 两种方式查找字符串里的电话号码
  8. STM32F429 RTThread自带的USBHID库实现数据收发
  9. 基于Java毕业设计疫情下的居民管理系统源码+系统+mysql+lw文档+部署软件
  10. 【超详细】嵌入式软件学习大纲