微信分享闪一下(闪退)总结
1,在微信开放平台注册账户
创建移动应用,填写app的包名和应用签名。如果在后期开发中修改了程序的包名后需要去微信开放平台修改。
2,关于闪退问题
1.直接用Android Studio 运行apk (这时候用的是debug.key)不是用的在微信开发平台创建应用时填写的app应用签名,所以这时候会闪退。需要打签名包。然后再去分享。
2.我还遇到个奇葩问题,我也是用的签名包去去运行的,但是在我的魅族手机(pro6plus)还是闪退,不能正常分享。 但是在华为手机上就可以正常分享,其他的魅族手机也可以分享。
private void shareWechat(String title,String text,String imageurl,String url) {
if(SharedUtils.isWeixinAvilible(this)){
Wechat.ShareParams sp = new Wechat.ShareParams();
sp.setShareType(Platform.SHARE_WEBPAGE);
sp.setTitle(title);
sp.setText(text);
sp.setUrl(url);
sp.setImageUrl(imageurl);
Platform wechat = ShareSDK.getPlatform(Wechat.NAME);
wechat.setPlatformActionListener(new ShareListener());
wechat.share(sp);
}else{
ToastUtils.show(UiUtils.getContext(), "微信未安装");
}
}
在我判断手机上是否安装微信时把当前的context传过去,问题出在这。
之前我传的是 UiUtils.getContext()), 这个是我的一个得到BaseApplication的context的方法。所以判断微信的这个方法得传当前activity的 context,BaseApplication的不可以。