Android应用加入微信分享功能
2015-07-22 15:11
751 查看
这是我从博客园的一个叫安卓吧那里找到一篇文章,这里注明出处,也尊重原创:http://www.cnblogs.com/android100/p/Android-qq.html
至于为什么的已经有了我还拿出来说,一方面是自己做一些记录,另一方面是说明明我遇到的一些问题及解决。
一、申请你的AppID
http://open.weixin.qq.com/友情提示:推荐使用eclipse打包软件最后一步的MD5值去申请AppID
(我刚开始没看明白这句话,这里的MD5分两种,一种是debug下的MD5,可以通过Windows->preference->Android->Build查看,如图:
还有一种是自己打包导出项目时创建或使用的keystone的最后一步也就那个友情提示说的MD5,如图:
通过微信官网提供的获取的应用签名的apk获取就是MD5,然后把应用签名(也就是MD5)填到微信开放平台上注册所使用的应用签名,如图:
已经注册过的应用可以修改应用签名和包名。
)
二、官网下载libammsdk.jar包
http://open.weixin.qq.com/download/?lang=zh_CN
三、将libammsdk.jar复制到工程的libs目录
四、在需要分享的Activity编写代码
private IWXAPI wxApi; //实例化
wxApi = WXAPIFactory.createWXAPI(this, Constants.WX_APP_ID);
wxApi.registerApp(Constants.WX_APP_ID);
/**
* 微信分享 (这里仅提供一个分享网页的示例,其它请参看官网示例代码)
* @param flag(0:分享到微信好友,1:分享到微信朋友圈)
*/
private void wechatShare(int flag){
WXWebpageObject webpage = new WXWebpageObject();
webpage.webpageUrl = "这里填写链接url";
WXMediaMessage msg = new WXMediaMessage(webpage);
msg.title = "这里填写标题";
msg.description = "这里填写内容";
//这里替换一张自己工程里的图片资源
Bitmap thumb = BitmapFactory.decodeResource(getResources(), R.drawable.share_logo);
msg.setThumbImage(thumb);
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.transaction = String.valueOf(System.currentTimeMillis());
req.message = msg;
req.scene = flag==0?SendMessageToWX.Req.WXSceneSession:SendMessageToWX.Req.WXSceneTimeline;
wxApi.sendReq(req);
}
//在需要分享的地方添加代码:
wechatShare(0);//分享到微信好友
wechatShare(1);//分享到微信朋友圈
五、在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity类,该类继承自Activity,实现IWXAPIEventHandler接口
/** 微信客户端回调activity示例 */
public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
// IWXAPI 是第三方app和微信通信的openapi接口
private IWXAPI api;
@Override
protected void onCreate(Bundle savedInstanceState) {
api = WXAPIFactory.createWXAPI(this, "这里替换第一步申请的APP_ID", false);
api.handleIntent(getIntent(), this);
super.onCreate(savedInstanceState);
}
@Override
public void onReq(BaseReq arg0) { }
@Override
public void onResp(BaseResp resp) {
LogManager.show(TAG, "resp.errCode:" + resp.errCode + ",resp.errStr:"
+ resp.errStr, 1);
switch (resp.errCode) {
case BaseResp.ErrCode.ERR_OK:
//分享成功
break;
case BaseResp.ErrCode.ERR_USER_CANCEL:
//分享取消
break;
case BaseResp.ErrCode.ERR_AUTH_DENIED:
//分享拒绝
break;
}
}
}
六、配置清单文件AndroidManifest.xml
<activityandroid:name=".wxapi.WXEntryActivity"
android:exported="true"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
相关文章推荐
- 提升Android应用视觉吸引效果的10个UI设计技巧
- 基于Android"今日事今日毕"的使用介绍
- 开发人员和设计师应该安装的10个Android应用
- 你的Android应用完全不需要那么多的权限
- android获取mac地址
- Android学习资料
- 对抗Android逆向
- Android逆向分析学习与研究(1)————工欲善其事必先利其器
- android经典Demo
- android之service简介
- android进程优先级
- Android平台应用开发笔记(一)
- Android学习03
- WebView的简单用法
- 使用标准库里的fragment
- Android如何得到电量、温度、电压
- Fragement
- Android应用源码安卓局域网飞鸽传输项目
- Android应用源码安卓初学者必敲基础项目
- view的几种布局方式及实践