当前位置: 首页 > news >正文

Android应用加入微信分享

一、申请你的AppID

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

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

二、官网下载libammsdk.jar包

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

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


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

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  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接口


[java] view plaincopy在CODE上查看代码片派生到我的代码片
  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

[html] view plaincopy在CODE上查看代码片派生到我的代码片
  1. <activity    
  2.     android:name=".wxapi.WXEntryActivity"  
  3.     android:exported="true"  
  4.     android:screenOrientation="portrait"   
  5.     android:theme="@android:style/Theme.Translucent.NoTitleBar" />  

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

转载于:https://www.cnblogs.com/Free-Thinker/p/3585834.html

相关文章:

  • nowrap要与回车换行符结合才有意义
  • XMPP 基础
  • 初学3ds Max,做了个雪人,大家来评评哪个更好看
  • 精彩十年(3)——初露锋芒
  • Java常用工具类的使用
  • 精彩十年(4)——缔造神话
  • HibernateDaoSupport实现分页技术总结
  • 新作《.NET 4.0面向对象编程漫谈》之序“穿越梦想、起锚远航”
  • java synchronized详解(非常详细)
  • 123456789分割成12,34,56,789
  • 分享代码
  • C语言实现 字符串过滤并修改并返回个数
  • 记录:对这次转正的一些预测
  • mysql插入中文报错
  • Nebula3嵌入WPF
  • Cookie 在前端中的实践
  • github指令
  • jdbc就是这么简单
  • overflow: hidden IE7无效
  • Redis 懒删除(lazy free)简史
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • SQLServer插入数据
  • vue2.0项目引入element-ui
  • 机器学习学习笔记一
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 看域名解析域名安全对SEO的影响
  • 如何利用MongoDB打造TOP榜小程序
  • 译自由幺半群
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • (2)STL算法之元素计数
  • (ibm)Java 语言的 XPath API
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (二)学习JVM —— 垃圾回收机制
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (四) Graphivz 颜色选择
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (转)Mysql的优化设置
  • (转)mysql使用Navicat 导出和导入数据库
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • .CSS-hover 的解释
  • .mysql secret在哪_MySQL如何使用索引
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .NET 的静态构造函数是否线程安全?答案是肯定的!
  • .net操作Excel出错解决
  • .NET下的多线程编程—1-线程机制概述
  • .sh
  • @ConditionalOnProperty注解使用说明
  • @RequestMapping-占位符映射
  • [ C++ ] STL---string类的模拟实现
  • [ CTF ]【天格】战队WriteUp- 2022年第三届“网鼎杯”网络安全大赛(青龙组)
  • [20171106]配置客户端连接注意.txt
  • [AIGC] Spring Interceptor 拦截器详解