分享纯文字

Activity代码使用

shareWechatFriend(MainActivity.this, "这里是分享的内容");
  • 方法shareWechatFriend(Context context, String content)
    //分享纯文本到微信/*** Context context* 分享的内容 content*/public void shareWechatFriend(Context context, String content) {if (PlatformUtil.isInstallApp(context, PlatformUtil.PACKAGE_WECHAT)) {Intent intent = new Intent();ComponentName cop = new ComponentName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareImgUI");intent.setComponent(cop);intent.setAction(Intent.ACTION_SEND);intent.putExtra("android.intent.extra.TEXT", content);intent.putExtra("Kdescription", !TextUtils.isEmpty(content) ? content : "");intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(intent);} else {ToastUtil.getInstance()._short(context, "您需要安装微信客户端");}}

分享图片就用项目中用到的分享二维码功能

  • 生成二维码要一定导入zxing
    zxing的GitHub地址:https://github.com/zxing/zxing
implementation 'com.google.zxing:core:3.2.1'

Activity代码使用


Uri uri = Uri.parse(MediaStore.Images.Media.insertImage(getContentResolver(),
QRcodeUtil.createQRCodeBitmap"二维码中的内容", 400, 400, "UTF-8", "L", "1", Color.BLACK, Color.WHITE), null, null));
shareWechatFriend(MainActivity.this, uri);
  • 方法shareWechatFriend(Context context, Uri uri)
     //分享图片到微信/*** Context context* 图片 uri*/public static void shareWechatFriend(Context context, Uri uri) {if (PlatformUtil.isInstallApp(context, PlatformUtil.PACKAGE_WECHAT)) {Intent intent = new Intent();ComponentName cop = new ComponentName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareImgUI");intent.setComponent(cop);intent.setAction(Intent.ACTION_SEND);intent.setType("image/*");intent.putExtra(Intent.EXTRA_STREAM, uri);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(Intent.createChooser(intent, "Share"));} else {ToastUtil.getInstance()._short(context, "您需要安装微信客户端");}}
  • PlatformUtil
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;import java.util.List;public class PlatformUtil {public static final String PACKAGE_WECHAT = "com.tencent.mm";public static final String PACKAGE_MOBILE_QQ = "com.tencent.mobileqq";public static final String PACKAGE_SINA = "com.sina.weibo";// 判断是否安装指定apppublic static boolean isInstallApp(Context context, String app_package){final PackageManager packageManager = context.getPackageManager();List<PackageInfo> pInfo = packageManager.getInstalledPackages(0);if (pInfo != null) {for (int i = 0; i < pInfo.size(); i++) {String pn = pInfo.get(i).packageName;if (app_package.equals(pn)) {return true;}}}return false;}
}
  • QRcodeUtil
import android.graphics.Bitmap;
import android.text.TextUtils;import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;import java.util.Hashtable;public class QRcodeUtil {public static Bitmap createQRCodeBitmap(String content, int width, int height,String character_set, String error_correction_level,String margin, int color_black, int color_white) {// 字符串内容判空if (TextUtils.isEmpty(content)) {return null;}if (width =< 0 || height =< 0) {return null;}try {/** 1.设置二维码相关配置 */Hashtable<EncodeHintType, String> hints = new Hashtable<>();// 字符转码格式设置if (!TextUtils.isEmpty(character_set)) {hints.put(EncodeHintType.CHARACTER_SET, character_set);}// 容错率设置if (!TextUtils.isEmpty(error_correction_level)) {hints.put(EncodeHintType.ERROR_CORRECTION, error_correction_level);}// 空白边距设置if (!TextUtils.isEmpty(margin)) {hints.put(EncodeHintType.MARGIN, margin);}/** 2.将配置参数传入到QRCodeWriter的encode方法生成BitMatrix(位矩阵)对象 */BitMatrix bitMatrix = new QRCodeWriter().encode(content, BarcodeFormat.QR_CODE, width, height, hints);/** 3.创建像素数组,并根据BitMatrix(位矩阵)对象为数组元素赋颜色值 */int[] pixels = new int[width * height];for (int y = 0; y < height; y++) {for (int x = 0; x < width; x++) {//bitMatrix.get(x,y)方法返回true是黑色色块,false是白色色块if (bitMatrix.get(x, y)) {pixels[y * width + x] = color_black;//黑色色块像素设置} else {pixels[y * width + x] = color_white;// 白色色块像素设置}}}/** 4.创建Bitmap对象,根据像素数组设置Bitmap每个像素点的颜色值,并返回Bitmap对象 */Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);bitmap.setPixels(pixels, 0, width, 0, 0, width, height);return bitmap;} catch (WriterException e) {e.printStackTrace();return null;}}
}

最后不知道怎么结束!!

干就完了

Android 原生分享图片文字到微信相关推荐

  1. android原生分享功能,Android原生分享到微博、微信等平台的实现方式

    在这个版本功能涉及到Android分享方式的变更,需求要求: 分享只支持新浪微博.微信,其他方式均去掉. 为了更好的测试还是要看下Android分享实现分享的方式,然后才能更好地评估测试时间和设计测试 ...

  2. 分享图片+文字到微信朋友圈

    比较坑,昨天刚刚写好了用微信SDK Jar包分享的Dome,但是公司突然又要分享图片+文字,而且还不要网页式的分享,找了半天,发现直接用微信SDK无法做到这一点,所以就只能用Intent直接传值调用了 ...

  3. Android原生分享图片和视频

    前言 由于之前的分享的平台都是固定的:微信,微信朋友圈,QQ,微博- 分享的做法就是,用列表分别显示各个平台,然后点击某个选项跳转到对应平台 代码如下: private void share(File ...

  4. android 代码分享图片不显示,android原生分享图片失败的问题

    原生分享代码没有错,但是总是分享失败 Android分享图片的分享代码如下 public static void shareImages(Context context, ArrayList uriL ...

  5. Android快速分享文件/文字到QQ/微信

    一般来说,要想分享文件/文字到微信朋友圈.QQ,都是需要接入微信.QQ的分享sdk;不过也有个快速分享到QQ.微信的小窍门,就是通过action 为"android.intent.actio ...

  6. Android 系统分享图片,文字

    使用系统自带分享功能,分享图片文字 1.分享文本 //分享文字 public void shareText() {Intent shareIntent = new Intent();shareInte ...

  7. 【Android 内存优化】Android 原生 API 图片压缩原理 ( 哈夫曼编码开关 | 哈夫曼编码原理 | libjpeg-turbo 函数库 )

    文章目录 一. 哈夫曼编码开关 二. 哈夫曼编码原理 三. libjpeg-turbo 函数库 四. libjpeg-turbo 函数库下载 [Android 内存优化]图片文件压缩 ( Androi ...

  8. 【Android 内存优化】Android 原生 API 图片压缩原理 ( Bitmap_compress 方法解析 | Skia 二维图形库 | libjpeg 函数库 | libpng 函数库 )

    文章目录 一. 图片质量压缩方法 二. Skia 二维图形库 三. libjpeg.libpng 函数库引入 在博客 [Android 内存优化]图片文件压缩 ( Android 原生 API 提供的 ...

  9. 【Android 内存优化】Android 原生 API 图片压缩原理 ( 图片质量压缩方法 | 查找 Java 源码中的 native 方法对应的 C++ 源码 )

    文章目录 一. 图片质量压缩方法 二. 查找对应的 Native 方法源码 三. 分析 Bitmap.cpp 中动态注册 Native 方法 在博客 [Android 内存优化]图片文件压缩 ( An ...

最新文章

  1. 指定eclipse启动使用的jdk,路径有空格的情况
  2. 深度学习框架大PK:TNN决战MNN,ncnn依旧经典
  3. win2003系统+IIS6下,经常出现w3wp.exe和sqlserver.exe的内存占用居高不下
  4. (转)青春有限,走红有年
  5. SpringAMQP--入门案例的消息接收
  6. python3 socketserver源码解析_解读python中SocketServer源码
  7. 支付宝小程序组件库开发之省市区三级地址选择器组件
  8. Mandelbrot vs Julia
  9. Ubuntu18.04无法连接向日葵服务器的问题及解决
  10. Shell脚本应用之服务启动脚本
  11. paip.没有源码的情况下更改ASP.net ASPX页
  12. 数字电路-时序逻辑电路
  13. mobileu-vst声卡设置
  14. A micro Lie theory for state estimation in robotics005:The tangent spaces and the Lie algebra
  15. 智能|跟着美的集团学习VMI正确的打开方式
  16. 一种逐样本的偏AUC优化框架
  17. 【通識:人生哲學與幸福】青年心理學 Part2 成熟
  18. 实时语义分割网络 BiSeNet(附代码解读)
  19. Python入门三:安装Pyqt5
  20. FIR滤波器和IIR滤波器的区别和选择

热门文章

  1. html2canvas实现网页局部存为图片和打印
  2. UG NX二次开发(C#)-装配-删除阵列矩阵
  3. Kaldi中如何使用已经训练好的模型进行语音识别ASR呢?
  4. html网页抓取建一个网站前端,创建网页的方法以及生成HTML骨架
  5. iMindMap邀您一起“约惠”开学季
  6. “双月”数据集的生成
  7. Linux系统编程 | 01 -文件操作
  8. 测试2年6.5K,每天“911”,我的心酸经历只有我自己知道···
  9. (转)少儿编程这么火, 究竟学哪一种语言最靠谱?这篇文章说透了!
  10. ff6全部青魔法获得(不走兽之原)