Android实现微信分享功能(手把手教你实现,让你迅速完成产品经理分配的任务)
1,应公司业务需求需要给APP加一个微信分享功能,首先去微信开放平台注册一下点击进入获取APPID,话不多说直接上代码。
2,在Build文件中添加微信SDK:compile 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'
代码如下:
dependencies {
compile 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'
}
3,在自己的Application中的onCreate方法中,注册一下app,代码如下:
`// 三个参数分别是上下文、应用的appId、是否检查签名(默认为false)
IWXAPI mWxApi = WXAPIFactory.createWXAPI(MainActivity.this, "你的appId", true);
// 注册
mWxApi.registerApp("你的appId");`
Image sharePhoto = (Image)findViewById(R.id.iv_sharephoto);
//分享给微信朋友
sharePhoto.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
WeChatShare.shareWeb(NativePhoto.this,"你自己的APPID","http://fanyi.youdao.com/","微信分享",bitmap,photoPath,1);
});
新建一个类WeChatShare:代码如下
public class WeChatShare {
/**
* 分享网页类型至微信
*
* @param context 上下文
* @param appId 微信的appId
* @param webUrl 网页的url
* @param title 分享标题
* @param bitmap 位图
*/
public static void shareWeb(Context context, String appId, String webUrl, String title, Bitmap bitmap,String pash,int WXSceneTag) {
// 通过appId得到IWXAPI这个对象
IWXAPI wxapi = WXAPIFactory.createWXAPI(context, appId);
// 检查手机或者模拟器是否安装了微信
if (!wxapi.isWXAppInstalled()) {
Toast.makeText(context,"您还没有安装微信",Toast.LENGTH_SHORT).show();
return;
}
Bitmap bit = BitmapFactory.decodeFile(pash);
WXImageObject wxImageObject = new WXImageObject();
wxImageObject.imagePath = pash;
// 初始化一个WXWebpageObject对象
// WXWebpageObject webpageObject = new WXWebpageObject();
// // 填写网页的url
// webpageObject.webpageUrl = webUrl;
// 用WXWebpageObject对象初始化一个WXMediaMessage对象
WXMediaMessage msg = new WXMediaMessage(wxImageObject);
// 填写网页标题、描述、位图
msg.title = title;
msg.description = content;
// 如果没有位图,可以传null,会显示默认的图片
msg.setThumbImage(null);
// 构造一个Req
SendMessageToWX.Req req = new SendMessageToWX.Req();
// transaction用于唯一标识一个请求(可自定义)
req.transaction = "webpage";
// 上文的WXMediaMessage对象
req.message = msg;
// SendMessageToWX.Req.WXSceneSession是分享到好友会话
// SendMessageToWX.Req.WXSceneTimeline是分享到朋友圈
if(WXSceneTag == 1){
req.scene = SendMessageToWX.Req.WXSceneSession;
}else if(WXSceneTag == 0){
req.scene = SendMessageToWX.Req.WXSceneTimeline;
}
// 向微信发送请求
wxapi.sendReq(req);
}
直接ctrl+c/v不到一分钟完成分享功能,让产品经理对你刮目相看。
想学习不通过微信API进行分享(注册获取APPID太麻烦),通过调用系统进行微信分享的可以直接去我上一篇文章解决Android调用系统分享给微信,出现分享失败,分享多文件必须为图片格式进行学习哦。
到这里就结束了,希望能够帮到大家哦!IT需要爱与和平😊,最后请大家关注我,以及我的一分钟系列(Android篇和小程序篇)让你一分钟实现相应的功能,成功引起产品经理的注意袄。