!!注意:顺序不能乱!!
1、建立自己的应用 WXShare
(1)应用包名是clochase.wx.test
(2)运行程序,请记住此时你编译运行的时候,用的是android默认的debug.keystore签名的。
2、到官网https://open.weixin.qq.com/cgi-bin/frame?t=resource/res_main_tmpl&lang=zh_CN下载开发工具包,解压,将libammsdk.jar复制到libs中,并将其add到build path中。
3、到官网https://open.weixin.qq.com/cgi-bin/appcreate?t=manage/createMobile&type=app&lang=zh_CN登记你的应用,
这里省去前面那些基本的操作 ,这里要注意以下的步骤。
其中有一步是要用个签微信那名的apk工具对我们程序进行签名的,因为我们的程序已经安装了,所以直接下载安装,然后在手机里面的那个框框输入包名(我这里是clochase.wx.test,包名不能填错哦),点击生成按钮,这时候会生成一个md5值,将其输入到登记页面的框中(此时我们注意,如果我们的应用程序还没有安装到手机中的话,签名工具会提示没有找到相关包说明的,这时候我们有意识到什么了吗?)
再接下来输入包名(我这里是clochase.wx.test,包名不能填错哦),然后提交审核。接下来就是等微信的MM进行审核了。
4、在步骤三中我们已经拿到了appid,按照sdk Demo里面的提供方法在我们的测试,OK一切成功,是否有感觉成就感呢。
5、项目开发到最后了,经过测试,一切正常,用正式签名的文件对来正式打包。然后再测试。OH,my god,What Happened!!!,为什么刚刚还能分享微信的,现在点击居然没有反应了。顿时陷入惶恐中。。。。不要怕,我来告诉你为什么会这样。
6、其实在第一步的时候,就已经说了,我们在官网申请的AppId的时候填写应用程序签名也是就是用debug.keystore生成的。然而我们此时在手机里面运行的apk是用我们自己生成的签名(xxx.keystore)进行签名的,两个签名都不一致,所以很理所当然会导致分享失败。因为微信要对我们应用进行一个验证,就是通过这个签名来认证的。
7、别担心,还有补救的方法,用我们正式那个签名文件xxx.keystore对程序进行正式的打包,然后安装到手机中,然后再次运行微信那个签名apk工具,讲我们的包名输入到里面,重新生成一个MD5的签名,然后到官网,找到你之前等级那个应用,拉到最后,点击修改,将刚刚生成的那个签名输入到里面,然后保存重新提交审核。
8、做完上面的事情之后,所要做的就是等刚刚重新提交的修改通过审核,要不然你的微信就不能分享成功。
9、某一天,登记的那个应用通过审核了,运行我们打包的程序,点击微信,oh ,yes。发现能分享了,终于可以喘一口气了。
备注:
1、还是签名问题,一个项目,几个人完成的话,如果大家都是用各自默认的debug.keystore进行运行的话,在debug版本,微信分享功能肯定只有在申请的微信appid的那台机器生产的apk才能正常。
2、关于微信分享信息结果反馈,这个要注意的是以下两点,要不要肯定是不会收到分享反馈的。
(1)这个Activity的名字一定是WXEntryActivity
(2)WXEntryActivity这个类一定是建立在 应用包名+wxapi包下(比如上述的工程,这时候包名应该是clochase.wx.test.wxapi)
发送图文消息到微信朋友圈(按钮触发事件里加入以下代码,请确保应用签名与在开放平台注册的应用签名一致,且AppId也应该对应)
IWXAPI api = WXAPIFactory.createWXAPI(context, APP_ID, false); api.registerApp(APP_ID); WXWebpageObject webpage = new WXWebpageObject(); webpage.webpageUrl = "http://www.xxxx.com/wap/showShare/; WXMediaMessage msg = new WXMediaMessage(webpage); msg.title = "标题"; msg.description = "描述"; try { Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.send_img); Bitmap thumbBmp = Bitmap.createScaledBitmap(bmp, 150, 150, true); bmp.recycle(); msg.setThumbImage(thumbBmp); } catch (Exception e) { e.printStackTrace(); } SendMessageToWX.Req req = new SendMessageToWX.Req(); req.transaction = String.valueOf(System.currentTimeMillis()); req.message = msg; req.scene = SendMessageToWX.Req.WXSceneTimeline; api.sendReq(req);
在新建的包里面添加一个类,WXEntryActivity.java,名字必须一致,这是微信开放平台规定的。
package com.cz.hello.wxapi; import android.app.Activity; import android.os.Bundle; import android.widget.Toast; import com.cz.hello.R; import com.cz.hello.utils.Constants; import com.tencent.mm.sdk.openapi.BaseReq; import com.tencent.mm.sdk.openapi.BaseResp; import com.tencent.mm.sdk.openapi.IWXAPI; import com.tencent.mm.sdk.openapi.IWXAPIEventHandler; import com.tencent.mm.sdk.openapi.WXAPIFactory; /** * @ClassName: WXEntryActivity * @Description: 微信分享工具类 * @author chenzheng * @date 2014-7-24 下午1:54:13 */ public class WXEntryActivity extends Activity implements IWXAPIEventHandler { private IWXAPI api; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 通过WXAPIFactory工厂,获取IWXAPI的实例 api = WXAPIFactory.createWXAPI(this, Constants.APP_ID, false); api.registerApp(Constants.APP_ID); api.handleIntent(getIntent(), this); } // 第三方应用发送到微信的请求处理后的响应结果,会回调到该方法 @Override public void onResp(BaseResp resp) { int result = 0; switch (resp.errCode) { case BaseResp.ErrCode.ERR_OK: result = R.string.errcode_success; break; case BaseResp.ErrCode.ERR_USER_CANCEL: result = R.string.errcode_cancel; break; case BaseResp.ErrCode.ERR_AUTH_DENIED: result = R.string.errcode_deny; break; default: result = R.string.errcode_unknown; break; } Toast.makeText(this, result, Toast.LENGTH_LONG).show(); finish(); } @Override public void onReq(BaseReq arg0) { } }
相关推荐
一个简单粗糙的微信朋友圈的分享!
2. [Android仿微信朋友圈图片查看效果 Android仿微信朋友圈图片查看效果](https://download.csdn.net/download/u014608640/9917626) 资源名称:Android仿微信朋友圈图片查看效果 资源介绍:Android仿微信朋友圈...
本文实例为大家分享了android仿微信朋友圈发布动态功能的具体代码,供大家参考,具体内容如下 效果图: 本文概述 用到的开源库:仿照微信的图片选择器,Luban压缩图片,glide 上面红圈部分,当用户选中图片时,当=...
项目上之前需要用到,后来团队研究后,进行了1:1的还原,而且优化后特别棒,希望对你有帮助,Android仿微信朋友圈功能实例源码实现高性能微信朋友圈功能效果。
android微信朋友圈动态界面(点全部评论进去可以左右滑)
Android高仿微信朋友圈图片查看,可放大,左右滑动
Android微信朋友圈多图片分享加文字描述 支持网络图片
该图片查看器是模仿微信朋友圈查看图片编写 allprojects { repositories { ... maven { url 'https://jitpack.io' } } } lastRelease: dependencies { implementation '...
仿微信朋友圈背景封面更换封面相册,实现拍照和选取手机分文件夹选取图片。
提供源码在网盘下载, Android仿微信朋友圈,全文收起功能,附源码.
Android仿微信朋友圈动态列表代码,ListView中使用GridView,头像圆角处理。
微信朋友圈拍照和录制视频 微信朋友圈拍照和录制视频 微信朋友圈拍照和录制视频 微信朋友圈拍照和录制视频 微信朋友圈拍照和录制视频
android分享到微信朋友圈的demo,直接可以运行,包含了demo项目源码,签名读取工具,接入步骤
Android模仿微信朋友圈照片选择上传, Android 微信朋友圈 照片选择 照片显示 照片压缩裁剪 上传 Android模仿微信朋友圈照片选择DEMO
高仿微信朋友圈界面,关键点,判断TextView中内容是否超出限定行数,并且显示“展开”,“收起”……
android实现微信朋友圈和微信好友分享功能,只需要换一下appid就可以直接拿到项目中使用。希望大家多多关注我,我的博客地址:https://blog.csdn.net/k571039838k
android 端 简单的 微信分享到 朋友圈 和 微信开发的 sdk
android 微信分享到好友和朋友圈的一个Dome