WeiXin Share{微信分享}

在此感谢博客园的博主:安卓吧 给大家带来的福利,文章略有改动。

   一、申请你的AppID

http://open.weixin.qq.com/

   友情提示:  测试版AppID:Gen_Signature_Android221cbf.apk推荐使用签名工具获取的签名码去申请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接口

/** 微信客户端回调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) {
// 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编写代码 

private IWXAPI wxApi;
//实例化 
wxApi = WXAPIFactory.createWXAPI(getActivity(), AppConfig.WX_APP_ID);
wxApi.registerApp(AppConfig.WX_APP_ID);
/**  
* 微信分享 (这里仅提供一个分享网页的示例,其它请参看官网示例代码)    
* @param flag(0:分享到微信好友,1:分享到微信朋友圈)  
  */  
private void wechatShare(int flag) {
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 

<activity 
android:name=".wxapi.WXEntryActivity"  
android:exported="true"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar" /> 


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值