zoukankan      html  css  js  c++  java
  • Android应用加入微信分享

    http://www.cnblogs.com/android100/p/Android-qq.html

    一、申请你的AppID

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

      友情提示:推荐使用eclipse打包软件最后一步的MD5值去申请AppID

    二、官网下载libammsdk.jar包

    http://open.weixin.qq.com/download/?lang=zh_CN

    三、将libammsdk.jar复制到工程的libs目录

    四、在需要分享的Activity编写代码 

    1. private IWXAPI wxApi;  
    2. //实例化  
    3. wxApi = WXAPIFactory.createWXAPI(this, Constants.WX_APP_ID);  
    4. wxApi.registerApp(Constants.WX_APP_ID);  
    5. /** 
    6.  * 微信分享 (这里仅提供一个分享网页的示例,其它请参看官网示例代码) 
    7.  * @param flag(0:分享到微信好友,1:分享到微信朋友圈) 
    8.  */  
    9. private void wechatShare(int flag){  
    10.     WXWebpageObject webpage = new WXWebpageObject();  
    11.     webpage.webpageUrl = "这里填写链接url";  
    12.     WXMediaMessage msg = new WXMediaMessage(webpage);  
    13.     msg.title = "这里填写标题";  
    14.     msg.description = "这里填写内容";  
    15.     //这里替换一张自己工程里的图片资源  
    16.     Bitmap thumb = BitmapFactory.decodeResource(getResources(), R.drawable.share_logo);  
    17.     msg.setThumbImage(thumb);  
    18.       
    19.     SendMessageToWX.Req req = new SendMessageToWX.Req();  
    20.     req.transaction = String.valueOf(System.currentTimeMillis());  
    21.     req.message = msg;  
    22.     req.scene = flag==0?SendMessageToWX.Req.WXSceneSession:SendMessageToWX.Req.WXSceneTimeline;  
    23.     wxApi.sendReq(req);  
    24. }  
    25. //在需要分享的地方添加代码:  
    26. wechatShare(0);//分享到微信好友  
    27. wechatShare(1);//分享到微信朋友圈  

    五、在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity类,该类继承自Activity,实现IWXAPIEventHandler接口

     
    1. /** 微信客户端回调activity示例 */  
    2. public class WXEntryActivity extends Activity implements IWXAPIEventHandler {  
    3.     // IWXAPI 是第三方app和微信通信的openapi接口  
    4.     private IWXAPI api;  
    5.     @Override  
    6.     protected void onCreate(Bundle savedInstanceState) {  
    7.         api = WXAPIFactory.createWXAPI(this, "这里替换第一步申请的APP_ID", false);  
    8.         api.handleIntent(getIntent(), this);  
    9.         super.onCreate(savedInstanceState);  
    10.     }  
    11.     @Override  
    12.     public void onReq(BaseReq arg0) { }  
    13.   
    14.     @Override  
    15.     public void onResp(BaseResp resp) {  
    16.         LogManager.show(TAG, "resp.errCode:" + resp.errCode + ",resp.errStr:"  
    17.                 + resp.errStr, 1);  
    18.         switch (resp.errCode) {  
    19.         case BaseResp.ErrCode.ERR_OK:  
    20.             //分享成功  
    21.             break;  
    22.         case BaseResp.ErrCode.ERR_USER_CANCEL:  
    23.             //分享取消  
    24.             break;  
    25.         case BaseResp.ErrCode.ERR_AUTH_DENIED:  
    26.             //分享拒绝  
    27.             break;  
    28.         }  
    29.     }  
    30. }  

    六、配置清单文件AndroidManifest.xml 

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

    七、签名打包软件,然后可以测试了

  • 相关阅读:
    SpringBoot接口文件findBy方法写错导致抛出IllegalArgumentException
    用tomcat启动spring-boot
    Idea使用tool window中的persistence功能一键生成数据库实体
    Idea 启动 tomcat 报错
    详细梳理ajax跨域4种解决方案
    他们权利意识强,但是也会为生活牺牲很多
    每月碎碎念 | 2019.09
    说好不哭 我不会走
    css实现内容不相同的左右两个div等高
    简单了解css3轮廓outline
  • 原文地址:https://www.cnblogs.com/tmlee/p/4981663.html
Copyright © 2011-2022 走看看