版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dxf_cs/article/details/79917563
不罗嗦,直接上代码。
api = WXAPIFactory.createWXAPI(this,"APPID", false); api.registerApp("APPID");
WXWebpageObject webpage = new WXWebpageObject(); webpage.webpageUrl = url; WXMediaMessage msg = new WXMediaMessage(webpage); msg.title = "title"; msg.description = "测试一下分享"; Bitmap thumb = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher); ByteArrayOutputStream baos = new ByteArrayOutputStream(); thumb.compress(Bitmap.CompressFormat.PNG, 100, baos); msg.thumbData = baos.toByteArray(); // 将bitmap 转成 byte[] //构造一个req SendMessageToWX.Req req= new SendMessageToWX.Req(); req.transaction=buildTransaction("webpage"); //webpage :网页分享 ,text:文字类型分享 ,img:图片类型分享 ,music:音乐类型分享
req.message=msg; req.scene = SendMessageToWX.Req.WXSceneTimeline; //设置发送到朋友圈 // req.scene = SendMessageToWX.Req.WXSceneSession; //设置发送给朋友 api.sendReq(req); //如果调用成功微信,会返回true---------------------------------------------------------------------------------------
private String buildTransaction(final String type){ return (type == null) ? String.valueOf(System.currentTimeMillis()) : type + System.currentTimeMillis(); } //微信开放平台没找到这个方法哦,如果没有 不会弹出分享 哦
回调:微信的回掉 都是在WXEntryActivity中, (必须在wxapi下哦)。
微信注册的时候如果用的是线上的签名,这样子要注意了哦,你要是直接运行 可能会报错 -6哦,在build.gradle中添加你线上签名就好了
signingConfigs{ debug{ //这里配置的就是debug的签名配置了 storeFile file("") //这个文件是我的,改成你自己的release签名文件 storePassword "" //密码改成自己的 keyAlias "" //再改成你自己的 keyPassword "" //再改成你自己的 } }大功告成。没那么多坑辣。。