微信sdk分享功能实现

1.申请你的AppID

请到 开发者应用登记页面 进行登记,登记并选择移动应用进行设置后,将该应用提交审核,只有审核通过的应用才能进行开发。

2.下载微信终端开发工具包并导入

开发工具包主要包含3部分内容:(其中,只有libammsdk.jar是必须的)

  • - libammsdk.jar(每个第三方应用必须要导入该sdk库,用于实现与微信的通信)

3.添加必要的权限支持:

 

 4.代码编写

 微信为我们提供了丰富的接口和元素支持分享功能的实现。主要有下面几种元素

 WXWebpageObject // 网页对象

 WXTextObject       //  文本对象

 WXImageObject    //  图片对象

 WXMusicObject     // 音乐对象

 WXVideoObject    // 视频对象

 WXEmojiObject    //Emoji表情对象

 

下面上代码了。

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
private IWXAPI api;
 
api = WXAPIFactory.createWXAPI( this , APPID);
 
api.registerApp(APPP_ID);
 
 
 
WXWebpageObject webpage = new WXWebpageObject();
 
//跳转的网页url
webpage.webpageUrl = "http://www.baidu.com" ;
 
// 创建媒体消息对象
WXMediaMessage msg = new WXMediaMessage(webpage);
 
//标题
msg.title = "WebPage Title WebPage Title WebPage Title WebPage Title WebPage Title WebPage Title WebPage Title WebPage Title WebPage Title Very Long Very Long Very Long Very Long Very Long Very Long Very Long Very Long Very Long Very Long" ;
 
//描述
msg.description = "WebPage Description WebPage Description WebPage Description WebPage Description WebPage Description WebPage Description WebPage Description WebPage Description WebPage Description Very Long Very Long Very Long Very Long Very Long Very Long Very Long" ;
 
//分享市左边的图片(如果没有系统会有一个默认的)图片大小要求小于 32K
Bitmap thumb = BitmapFactory.decodeResource(getResources(), R.drawable.send_music_thumb);
msg.thumbData = Util.bmpToByteArray(thumb, true );
 
//Req对象
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.transaction = buildTransaction( "webpage" );
req.message = msg;
 
//分享到朋友圈(微信版本4.2之前不支持分享到朋友圈)
 
req.scene = SendMessageToWX.Req.WXSceneTimeline ;
 
//分享给好友
 
//req.scene = SendMessageToWX.Req.WXSceneSession;
api.sendReq(req);
 
 
 
private String buildTransaction( final String type) {
        return (type == null ) ? String.valueOf(System.currentTimeMillis()) : type + System.currentTimeMillis();
}

下面再来看给音频的例子

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
WXMusicObject music = new WXMusicObject();
 
music.musicUrl= "http://staff2.ustc.edu.cn/~wdw/softdown/index.asp/0042515_05.ANDY.mp3" ;
 
music.musicLowBandUrl = "http://www.qq.com" ;   //低带宽音频
 
WXMediaMessage msg = new WXMediaMessage();
msg.mediaObject = music;
msg.title = "Music Title" ;
msg.description = "Music Album" ;
 
Bitmap thumb = BitmapFactory.decodeResource(getResources(), R.drawable.send_music_thumb);
msg.thumbData = Util.bmpToByteArray(thumb, true );
 
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.transaction = buildTransaction( "music" );
req.message = msg;
req.scene = SendMessageToWX.Req.WXSceneTimeline ;
api.sendReq(req);

5.关于混淆

如果需要混淆代码,为了保证sdk的正常使用,需要在proguard.cfg加上下面两行配置:

 

?
1
2
3
4
5
-keep class com.tencent.mm.sdk.** {
 
    *;
 
}

好啦,就这么多了,希望能对看到的人,有所帮助、

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值