Android 添加微信分享三种实现方案

来源:互联网 发布:windows双系统怎么删除 编辑:程序博客网 时间:2024/05/18 03:16

Android 添加微信分享三种方案

  1. 使用android的intent实现应用程序之间的通信,将信息通过intent传递给微信。这种方式的局限性在于

    a.只能发送图片,而不是文字或者图片+文字。

    b.设备必须安装微信才能实现分享。

    优势是不用任何第三方sdk,包体积小。不用等待官方审核,随时添加

    实现代码:

    1>.分享到朋友圈

    private void shareToTimeLine(File file) {

    Intent intent = new Intent();

    ComponentName comp = new ComponentName(“com.tencent.mm”,

    “com.tencent.mm.ui.tools.ShareToTimeLineUI”);

    intent.setComponent(comp);

    intent.setAction(“android.intent.action.SEND”);

    intent.setType(“image/*”);

    intent.putExtra(Intent.EXTRA_TEXT,”bulabulabula”);

    intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));

    startActivity(intent);

    }

    2>.分享到朋友

    private void shareToFriend(File file) {

    Intent intent = new Intent();

    ComponentName comp = new ComponentName(“com.tencent.mm”,

    “com.tencent.mm.ui.tools.ShareImgUI”);

    intent.setComponent(comp);

    intent.setAction(“android.intent.action.SEND”);

    intent.setType(“image/*”);

    intent.putExtra(Intent.EXTRA_TEXT,”bulabulabula”);

    intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));

    startActivity(intent);

    }

  2. 使用微信的官方sdk包,实现发送文字+图片发送到朋友圈。这种方式不需要设备安装微信。但是包体积会多出微信的sdk大小,100多k,也不是很多。而且需要等待官方审核,一般2天左右,快得话半天,最晚7天。提交审核需要应用签名,应用包名,icon,应用下载地址等,这些需要提前准备好,不然项目后期提交的话,说不定微信给你审核7天就废了。废话不多说,上代码:
    1>定义成员

private static final String APP_ID = “wx5a1ddf4936fe928b”;

private static IWXAPI api;

2>.初始化

api = WXAPIFactory.createWXAPI(this, APP_ID, true);

api.registerApp(APP_ID);

3>.分享到朋友

public static void sendMsgToFriend() {

if (api.openWXApp()) {

// 初始化一个对象WebpageObject

WXTextObject textObject = new WXTextObject();

textObject.text = “不拉不拉不拉,”;

 

// 媒体对象中

WXMediaMessage msg = new WXMediaMessage(textObject);

msg.title = “title”;

msg.description = “分享给你的好友,让更多的人来玩!”;

 

// 建立请求对象

SendMessageToWX.Req req = new SendMessageToWX.Req();

// transaction是用来表示一个请求的唯一标示符

req.transaction = buildTransaction(“textObject”);

req.message = msg;

req.scene = SendMessageToWX.Req.WXSceneSession;

 

// 使用通信类发送

api.sendReq(req);

} else {

Toast.makeText(instance, “启动微信失败!”, Toast.LENGTH_SHORT).show();

}

}

4>.分享到朋友圈


  1. 使用第三方的分享工具,比如shareSDK。这种方式最强大(支持多种社交平台)。并且不要求设备安装微信。
转载自:http://labs.easymobi.cn/?p=5934
0 0
原创粉丝点击