android 第三方微信分享

版权声明:本文为博主原创文章,未经博主允许不得转载。 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 ""     //再改成你自己的
    }
}
大功告成。没那么多坑辣。。

猜你喜欢

转载自blog.csdn.net/dxf_cs/article/details/79917563