微信分享的原生集成
来源:互联网 发布:淘宝不清洗会怎么样 编辑:程序博客网 时间:2024/06/05 01:52
分享集成
现在的APP大都会包含分享部分,分享的集成平台也很多,如SharedSDK,友盟等等,但是这些分享都是统一实现差异化分享,进行多方的差异化配置进而实现相关的分享,但是我们开发时候有时候只需要进行最常用的微信分享就可以实现,所以学习原生的分享集成是有必要的,另外原生的分享由于实现特定的平台分享,集成包也比较小,有利于我们的APP实现瘦身,下面开始介绍分享的实现。
1,微信开放平台进行app注册(https://open.weixin.qq.com/),进行相关的注册,拿到appid。
2,注册时候需要生成应用签名,可获取工具输入包名获取相关签名,注意安装的包必须是正式签名的包(即release,不是debug),资源地址:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&lang=zh_CN
3,资源下载,资源地址同2,下载第一个android开发工具包即可。
4,下载解压得到libammsdk.jar拷贝到libs目录,同时添加依赖。
5,权限添加:
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
6,注册应用到微信,一般建议在application的onCreate中完成,也可在入口activity的onCreate中完成。
private static final String Weixin_id = "appid";public static IWXAPI WeixinAPI;
WeixinAPI = WXAPIFactory.createWXAPI(this, Weixin_id, true);WeixinAPI.registerApp(Weixin_id);7,分享实现:
微信分享可分享文字、图片、音乐、视频、网页等,这里介绍最常用的网页分享。
WXWebpageObject wxWebpageObject = new WXWebpageObject();wxWebpageObject.webpageUrl = url;//设置跳转的urlfinal WXMediaMessage mediaMessage = new WXMediaMessage(wxWebpageObject);mediaMessage.title = this.title;//设置标题mediaMessage.description = this.content;//设置内容
mBitmap = BitmapFactory.decodeStream(new URL(picPath).openStream());Bitmap bitmap = Bitmap.createScaledBitmap(mBitmap,96,96,true);mediaMessage.thumbData = BitmapToBytesUtil.Bitmap2Bytes(bitmap);//图片加工SendMessageToWX.Req req = new SendMessageToWX.Req();req.transaction = "webpage";//分享类型为网页req.message = mediaMessage;//分享的内容为上面的信息req.scene = SendMessageToWX.Req.WXSceneSession;//设置分享到微信好友
8,分享结果,创建类实现结果回调,代码如下:req.scene = SendMessageToWX.Req.WXSceneTimeline;//设置分享到微信朋友圈PigeonApp.WeixinAPI.sendReq(req);//发送请求
public class WXEntryActivity extends Activity implements IWXAPIEventHandler { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); PigeonApp.WeixinAPI.handleIntent(getIntent(),this); } @Override public void onReq(BaseReq baseReq) { } @Override public void onResp(BaseResp baseResp) { String result = ""; switch (baseResp.errCode) { case BaseResp.ErrCode.ERR_OK: result = "分享成功"; break; case BaseResp.ErrCode.ERR_USER_CANCEL: result = "分享取消"; break; case BaseResp.ErrCode.ERR_AUTH_DENIED: result = "分享被拒绝"; break; default: result = "分享返回"; break; } ToastUtils.getInstance(this).showToast(result,false); finish(); }}根据回调结果进行相关的业务处理即可。
如遇到分享自动返回情况,则确定此处的签名是否是release版本。
- 微信分享的原生集成
- 集成微信的第三方分享
- android集成微信分享
- 微信分享集成示例
- android集成微信分享
- 【iOS】原生微信登录和分享
- ios微信和QQ原生分享
- Android集成微信分享的要点及源码示例
- 微信网页分享JS-SDK的集成使用
- 在友盟分享的基础上集成微信登录
- 快速集成 react-native 的微信分享
- 集成微信登录和分享真的很简单
- 集成微信登录和分享真的很简单
- ios 微信分享,QQ分享,微博分享集成
- 集成微信分享功能-总结
- 安卓 -- 微信分享集成
- Android开发集成微信分享
- Androidstudio集成微信分享网页
- 贪心算法学习总结
- Eclipse 和MyEclipse的关系
- go defer
- 关于UrlRewrite的使用
- JSP页面跳转大全
- 微信分享的原生集成
- 【2】Hibernate的常见配置
- HTML5中的本地存储及其相关例子
- 使用Hugo搭建自己的博客(github)
- 我的2016--找工作总结
- 【CodeVS】1792 分解质因数
- ubuntu 包链接,查找常用命令
- Codeforces Round #381 (Div. 2)
- VisualSFM+MeshLab 三维重建全过程记录