android 应用实现微信好友或朋友圈分享

官方的文档连接: https://open.weixin.qq.com/cgi-bin/frame?t=resource/res_main_tmpl&lang=zh_CN  


Java代码   收藏代码
  1. private IWXAPI api;  


Java代码   收藏代码
  1. // 微信注册初始化  
  2. api = WXAPIFactory.createWXAPI(this"wx5ce2ffa100e3f587"true);  
  3. api.registerApp("wx5ce2ffa100e3f587");  


分享到微信里边的内容,其中flag 0是朋友圈,1是好友, 
分享前判断下是否有安装微信,没有就不提示用户 

Java代码   收藏代码
  1. private void share2weixin(int flag) {  
  2.     // Bitmap bmp = BitmapFactory.decodeResource(getResources(),  
  3.     // R.drawable.weixin_share);  
  4.   
  5.     if (!api.isWXAppInstalled()) {  
  6.         Toast.makeText(WXEntryActivity.this"您还未安装微信客户端",  
  7.                 Toast.LENGTH_SHORT).show();  
  8.         return;  
  9.     }  
  10.   
  11.     WXWebpageObject webpage = new WXWebpageObject();  
  12.     webpage.webpageUrl = "http://baidu.com";  
  13.     WXMediaMessage msg = new WXMediaMessage(webpage);  
  14.   
  15.     msg.title = "title";  
  16.     msg.description = getResources().getString(  
  17.             R.string.app_share_weixin_txt);  
  18.     Bitmap thumb = BitmapFactory.decodeResource(getResources(),  
  19.             R.drawable.weixin_share);  
  20.     msg.setThumbImage(thumb);  
  21.     SendMessageToWX.Req req = new SendMessageToWX.Req();  
  22.     req.transaction = String.valueOf(System.currentTimeMillis());  
  23.     req.message = msg;  
  24.     req.scene = flag;  
  25.     api.sendReq(req);  
  26. }  


分享是否成功查询,可以通过IWXAPIEventHandler回调接口来处理 

Java代码   收藏代码
  1. @Override  
  2. public void onReq(BaseReq arg0) {  
  3.     // TODO Auto-generated method stub  
  4.   
  5. }  
  6.   
  7. @Override  
  8. public void onResp(BaseResp resp) {  
  9.   
  10.     Log.v("caodongquan""hello world");  
  11.     String result = "";  
  12.   
  13.     switch (resp.errCode) {  
  14.     case BaseResp.ErrCode.ERR_OK:  
  15.         result = "errcode_success";  
  16.         break;  
  17.     case BaseResp.ErrCode.ERR_USER_CANCEL:  
  18.         result = "errcode_cancel";  
  19.         break;  
  20.     case BaseResp.ErrCode.ERR_AUTH_DENIED:  
  21.         result = "errcode_deny";  
  22.         break;  
  23.     default:  
  24.         result = "errcode_unknown";  
  25.         break;  
  26.     }  
  27.   
  28.     // Toast.makeText(this, result, Toast.LENGTH_LONG).show();  
  29.   
  30. }  



注册回调监听事件 

Java代码   收藏代码
  1. api.handleIntent(intent, this);  



注意事项: 
1.必须要在你注册的包名下,再新建一个"包名.wxapi"包,新建一个WXEntryActivity类 
2.keystore要配置好,具体是在"window--preferences--android--build--Custom debug keystore"选中keystore文件,然后使用签名文件打包,就行啦! 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值