在此感谢博客园的博主:安卓吧 给大家带来的福利,文章略有改动。
一、申请你的AppID
友情提示: 测试版AppID:推荐使用签名工具获取的签名码去申请AppID(资源中心-Android资源下载)
线上版AppID:推荐使用eclipse打包软件最后一步的MD5值去申请AppID
二、官网下载libammsdk.jar包
http://open.weixin.qq.com/download/?lang=zh_CN
三、将libammsdk.jar复制到工程的libs目录
四、在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity类,该类继承自Activity,实现IWXAPIEventHandler接口
// IWXAPI 是第三方app和微信通信的openapi接口
private IWXAPI api;
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) {
// TODO Auto-generated method stub
}
@Override
public void onResp(BaseResp arg0) {
// TODO Auto-generated method stub
switch (arg0.errCode) {
case BaseResp.ErrCode.ERR_OK:
// success
break;
case BaseResp.ErrCode.ERR_USER_CANCEL:
// cancel
break;
case BaseResp.ErrCode.ERR_AUTH_DENIED:
// denied
break;
default:
break;
}
}
}
五、在需要分享的Activity编写代码
wxApi.registerApp(AppConfig.WX_APP_ID);
String SHARE_URL = "http://autobot.im/tracklines.cfm?trackid="
+ mTrack.getmTrackId() + "&userid=" + mTrack.getmUserId();
WXWebpageObject webpage = new WXWebpageObject();
webpage.webpageUrl = SHARE_URL;
WXMediaMessage msg = new WXMediaMessage(webpage);
msg.title = "这里填写标题";
msg.description = "这里填写描述内容";
// 这里替换一张自己工程里的图片资源
Bitmap thumb = BitmapFactory.decodeResource(getResources(),
R.drawable.icon);
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);//分享到微信朋友圈
下面是点击分享按钮弹出自定义对话框实现分享选择:
mShareTV.setOnClickListener(new View.OnClickListener() {
private AlertDialog dialog;
@Override
public void onClick(View arg0) {
dialog = new AlertDialog.Builder(getActivity()).setItems(new String[] {getResources().getString(
R.string.wx_friend),getResources().getString(R.string.wx_circle_of_friend) },new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,int which) {
// TODO Auto-generated method stub
if (which == 0) {
wechatShare(0);
} else {
wechatShare(1);
}
}
}).setTitle(xxx).create();
dialog.show();
}
});
六、配置清单文件AndroidManifest.xml