具体代码如下所示:

package dmpte.sharewechat;

import android.annotation.SuppressLint;

import android.app.Activity;

import android.content.ComponentName;

import android.content.Context;

import android.content.Intent;

import android.content.pm.PackageInfo;

import android.content.pm.PackageManager;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.net.Uri;

import android.provider.MediaStore;

import android.widget.Toast;

import java.util.List;

/**

* Created by Administrator on 2018/6/25.

*/

public class AndroidShare {

/**

* 上下文

*/

private Context context;

/**

* 文本类型

*

*/

public static int TEXT = 0;

/**

* 图片类型

*/

public static int DRAWABLE = 1;

public AndroidShare(Context context) {

this.context = context;

}

/**

* 分享到QQ好友

*

* @param msgTitle

* (分享标题)

* @param msgText

* (分享内容)

* @param type

* (分享类型)

* @param drawable

* (分享图片,若分享类型为AndroidShare.TEXT,则可以为null)

*/

public void shareQQFriend(String msgTitle, String msgText, int type,

Bitmap drawable) {

shareMsg("com.tencent.mobileqq",

"com.tencent.mobileqq.activity.JumpActivity", "QQ", msgTitle,

msgText, type, drawable);

}

/**

* 分享到微信好友

*

* @param msgTitle

* (分享标题)

* @param msgText

* (分享内容)

* @param type

* (分享类型)

* @param drawable

* (分享图片,若分享类型为AndroidShare.TEXT,则可以为null)

*/

public void shareWeChatFriend(String msgTitle, String msgText, int type,

Bitmap drawable) {

shareMsg("com.tencent.mm", "com.tencent.mm.ui.tools.ShareImgUI", "微信",

msgTitle, msgText, type, drawable);

}

/**

* 分享到微信朋友圈(分享朋友圈一定需要图片)

*

* @param msgTitle

* (分享标题)

* @param msgText

* (分享内容)

* @param drawable

* (分享图片)

*/

public void shareWeChatFriendCircle(String msgTitle, String msgText,

Bitmap drawable) {

shareMsg("com.tencent.mm", "com.tencent.mm.ui.tools.ShareToTimeLineUI",

"微信", msgTitle, msgText, AndroidShare.DRAWABLE, drawable);

}

/**

* 点击分享的代码

*

* @param packageName

* (包名,跳转的应用的包名)

* @param activityName

* (类名,跳转的页面名称)

* @param appname

* (应用名,跳转到的应用名称)

* @param msgTitle

* (标题)

* @param msgText

* (内容)

* @param type

* (发送类型:text or pic 微信朋友圈只支持pic)

*/

@SuppressLint("NewApi")

private void shareMsg(String packageName, String activityName,

String appname, String msgTitle, String msgText, int type,

Bitmap drawable) {

if (!packageName.isEmpty() && !isAvilible(context, packageName)) {// 判断APP是否存在

Toast.makeText(context, "请先安装" + appname, Toast.LENGTH_SHORT)

.show();

return;

}

Intent intent = new Intent("android.intent.action.SEND");

if (type == AndroidShare.TEXT) {

intent.setType("text/plain");

} else if (type == AndroidShare.DRAWABLE) {

intent.setType("image/*");

// BitmapDrawable bd = (BitmapDrawable) drawable;

// Bitmap bt = bd.getBitmap();

final Uri uri = Uri.parse(MediaStore.Images.Media.insertImage(

context.getContentResolver(), drawable, null, null));

intent.putExtra(Intent.EXTRA_STREAM, uri);

}

intent.putExtra(Intent.EXTRA_SUBJECT, msgTitle);

intent.putExtra(Intent.EXTRA_TEXT, msgText);

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

if (!packageName.isEmpty()) {

intent.setComponent(new ComponentName(packageName, activityName));

context.startActivity(intent);

} else {

context.startActivity(Intent.createChooser(intent, msgTitle));

}

}

/**

* 判断相对应的APP是否存在

*

* @param context

* @param packageName

* @return

*/

public boolean isAvilible(Context context, String packageName) {

PackageManager packageManager = context.getPackageManager();

List pinfo = packageManager.getInstalledPackages(0);

for (int i = 0; i < pinfo.size(); i++) {

if (((PackageInfo) pinfo.get(i)).packageName

.equalsIgnoreCase(packageName))

return true;

}

return false;

}

/**

* 指定分享到qq

* @param context

* @param bitmap

*/

public void sharedQQ(Activity context, Bitmap bitmap){

Uri uri = Uri.parse(MediaStore.Images.Media.insertImage(

context.getContentResolver(), BitmapFactory.decodeResource(context.getResources(), R.mipmap.ic_launcher), null, null));

Intent imageIntent = new Intent(Intent.ACTION_SEND);

imageIntent.setPackage("com.tencent.mobileqq");

imageIntent.setType("image/*");

imageIntent.putExtra(Intent.EXTRA_STREAM, uri);

imageIntent.putExtra(Intent.EXTRA_TEXT,"您的好友邀请您进入天好圈");

imageIntent.putExtra(Intent.EXTRA_TITLE,"天好圈");

context.startActivity(imageIntent);

}

}

然后是使用

public void shareQQ(View view) {

AndroidShare androidShare = new AndroidShare(this);

androidShare.shareQQFriend("这是标题", "这是内容", AndroidShare.TEXT, null);

}

public void shareWechat(View view) {

AndroidShare androidShare = new AndroidShare(this);

androidShare.shareWeChatFriend("这是标题", "这是内容", AndroidShare.TEXT, null);

}

就是这么简单

总结

以上所述是小编给大家介绍的Android将内容分享到QQ和微信实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对找一找教程网网站的支持!

android qq 分享代码,Android将内容分享到QQ和微信实例代码相关推荐

  1. android home跳转,Android 中按home键和跳转到主界面的实例代码

    Android 中按home键和跳转到主界面的实例代码 //home Intent intent= new Intent(Intent.ACTION_MAIN); intent.setFlags(In ...

  2. android+底部评论框,Android 之BottomsheetDialogFragment仿抖音评论底部弹出对话框效果(实例代码)...

    实现的效果图: 自定义Fragment继承BottomSheetDialogFragment 重写它的三个方法: onCreateDialog() onCreateView() onStart() 他 ...

  3. 九宫格拼图android代码,Android 多图上传后将图片进行九宫格展示的实例代码

    不多说上代码 public abstract class NineGridAdapter { protected Context context; protected List list; publi ...

  4. android自定义金额输入键盘_Android 自定义输入支付密码的软键盘实例代码

    Android 自定义输入支付密码的软键盘 有项目需求需要做一个密码锁功能,还有自己的软键盘,类似与支付宝那种,这里是整理的资料,大家可以看下,如有错误,欢迎留言指正 需求:要实现类似支付宝的输入支付 ...

  5. Java写js的Ajax代码_用JS写的一个Ajax库(实例代码)

    myajax是一个用js编写的一个跨浏览器的ajax库,支持get, post, jsonp请求,精巧,简单. 一.发送GET请求: myajax.get({ data: {}, //参数 url: ...

  6. html动态散花代码,IOS实现签到特效(散花效果)的实例代码

    本文讲述了IOS实现签到特效(散花效果)实例代码.分享给大家供大家参考,具体如下: 散花特效 #import /// 领取奖励成功 @interface RewardSuccess : NSObjec ...

  7. python测试电脑性能的代码_python编程测试电脑开启最大线程数实例代码

    本文实例代码主要实现python编程测试电脑开启最大线程数,具体实现代码如下. #!/usr/bin/env python #coding=gbk import threading import ti ...

  8. html实现文字隐藏展开特效代码,js实现点击展开隐藏效果(实例代码)

    js实现点击展开隐藏效果(实例代码) 发布时间:2020-09-20 10:47:49 来源:脚本之家 阅读:69 作者:laozhang 本章给大家介绍用js事件冒泡实现鼠标点击显示提示框效果(代码 ...

  9. html页面色块布局代码,Html 实现动态显示颜色块的报表效果(实例代码)

    利用html的颜色块动态展示数据 *{ padding: 0; margin: 0; } .tubiao,.jihua,.shiji,.riqi{ width: 100%; overflow: hid ...

最新文章

  1. php改7z,PHP的7z扩展名? - php
  2. mysql利用tgz恢复_mysql备份恢复
  3. 为outlook增加“邮件召回”功能
  4. c++如何输入数组_从一个数组中找出 N 个数,其和为 M 的所有可能最 nice 的解法...
  5. 5位数的数字黑洞是多少_每日一题[491]数字黑洞--Kaprekar常数
  6. 使用的组件:ckeditor
  7. 脏牛Linux本地提权漏洞复现(CVE-2016-5195、Linux、Android、提权)
  8. python单链表实现荷兰国旗问题_快速排序深入之荷兰国旗问题
  9. python字符串驻留机制_python的内存驻留机制(小数据池)
  10. list 转 json,以及 json 解析
  11. Android下载网络图片并缓存
  12. 3DGIS产品层次结构
  13. 基于张正友平面标定法的摄像机标定及GUI实现
  14. USB转换PS2接线原理
  15. Linux 中VirtualBox6.0.8 仅主机模式不可用
  16. 树莓派有线网络设置_树莓派设置固定IP之有线网和无线网方法
  17. 关于HP笔记本的老毛桃装系统。
  18. 解决tomcat在pycharm中的初始化报错“ Failed to transfer file”“could not create folder”“(Permission denied)”
  19. 浪潮精彩亮相第十届中国云计算大会
  20. 环保用电监管云平台可行性研究及解决方案-安科瑞 周莉娜

热门文章

  1. iOS开发:The app icon set named AppIcon did not have any applicable content
  2. PHP使用imagick扩展合成透明GIF图帧重叠问题解决方案
  3. 【资讯】天啦鲁,这十余款创客设计居然由FPGA搞定 [转]
  4. java matlab混合编程_java和matlab混合编程
  5. 华为已经证实?华为将自主研发手机操作系统
  6. python日历模块_python 日历模块calendar
  7. knative入门指南
  8. 机器学习总结2 #博学谷IT学习技术支持#
  9. AUTOCAD2014点击菜单栏的文件菜单CAD会卡死的解决
  10. cv算法(cv算法题笔试题库)