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

具体代码如下所示:

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和微信实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对找一找教程网网站的支持!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值