Android(安卓)分享(网址)微信,微信朋友圈,QQ,QQ空间,分享小程序
16lz
2021-01-25
第一步:通过微信开放平台、腾讯开放平台拿到appId第二部:根据官方文档配置相关信息
/** * 注册微信 */private void regToWx() { // 通过WXAPIFactory工厂,获取IWXAPI的实例 mIWXAPI = WXAPIFactory.createWXAPI(mContext, PublicResource.WX_APPID, true); // 将应用的appId注册到微信 mIWXAPI.registerApp(WX_APPID);}/** * 注册QQ */private void regToQQ() { mTencent = Tencent.createInstance(QQ_APPID, mContext);}
/** * qq好友 */private void shareToQQ() { Bundle params = new Bundle(); params.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE, QQShare.SHARE_TO_QQ_TYPE_DEFAULT); params.putString(QQShare.SHARE_TO_QQ_TITLE, "标题");// 标题 params.putString(QQShare.SHARE_TO_QQ_SUMMARY, "描述");// 摘要 params.putString(QQShare.SHARE_TO_QQ_TARGET_URL, "用户点击是打开的网址(如:app下载链接)");// 内容地址 params.putString(QQShare.SHARE_TO_QQ_IMAGE_URL, "一般是app logo");// 网络图片地址 url params.putString(QQShare.SHARE_TO_QQ_APP_NAME, "应用名称");// 应用名称 params.putString(QQShare.SHARE_TO_QQ_EXT_INT, ""); // 分享操作要在主线程中完成 mTencent.shareToQQ(getActivity(), params, new MyIUiListener ());}
/** * qq空间*/private void shareToQZone() {
Bundle params2 = new Bundle();
params2.putInt(QzoneShare.SHARE_TO_QZONE_KEY_TYPE,QzoneShare.SHARE_TO_QZONE_TYPE_IMAGE_TEXT); params2.putString(QzoneShare.SHARE_TO_QQ_TITLE, "标题");// 标题 params2.putString(QzoneShare.SHARE_TO_QQ_SUMMARY, "描述");// 摘要 params2.putString(QzoneShare.SHARE_TO_QQ_TARGET_URL,描述);// 内容地址 ArrayList
imgUrlList = new ArrayList<>(); imgUrlList.add("一般是app logo"); params2.putStringArrayList(QzoneShare.SHARE_TO_QQ_IMAGE_URL,imgUrlList);// 图片地址 // 分享操作要在主线程中完成 mTencent.shareToQzone(getActivity(), params2,new MyIUiListener ());
}
/** * 微信分享朋友圈 好友 * @param friendsCircle true:朋友圈 false:好友 */public void share(boolean friendsCircle){ WXWebpageObject webpage = new WXWebpageObject(); webpage.webpageUrl ="用户点击是打开的网址(如:app下载链接)";//分享url WXMediaMessage msg = new WXMediaMessage(webpage); msg.title = "标题"; msg.description = "描述"; Bitmap bit=ImageUtils.getBitmap(R.mipmap.test);//一般logo 本地图片就行 msg.thumbData =Bitmap2Bytes(bit);//封面图片byte数组 SendMessageToWX.Req req = new SendMessageToWX.Req(); req.transaction = String.valueOf(System.currentTimeMillis()); req.message = msg; req.scene = friendsCircle ? SendMessageToWX.Req.WXSceneTimeline : SendMessageToWX.Req.WXSceneSession; api.sendReq(req);}
/** * 分享小程序(只能微信好友) */ public void appletShare(){ WXMiniProgramObject miniProgramObj = new WXMiniProgramObject(); miniProgramObj.webpageUrl = "这儿兼容微信低版本,我填写的是app下载地址"; // 兼容低版本的网页链接 miniProgramObj.miniprogramType = WXMiniProgramObject.MINIPTOGRAM_TYPE_RELEASE;// 正式版:0,测试版:1,体验版:2 miniProgramObj.userName = "小程序原始id"; // 小程序原始id miniProgramObj.path = "小程序页面路径"; //小程序页面路径 WXMediaMessage msg = new WXMediaMessage(miniProgramObj); msg.title = "标题"; // 小程序消息title msg.description = "描述"; // 小程序消息desc Bitmap bit=ImageUtils.getBitmap(R.mipmap.test); //分享出去时显示的图片 一般5:3 msg.thumbData = Bitmap2Bytes(bit); // 小程序消息封面图片,小于128k SendMessageToWX.Req req = new SendMessageToWX.Req();// req.transaction = buildTransaction("webpage"); req.message = msg; req.scene = SendMessageToWX.Req.WXSceneSession; // 目前支持会话 api.sendReq(req); }
//QQ回调
class MyIUiListener implements IUiListener{ @Override public void onComplete(Object o) { T.showShort(mContext,"分享成功"); } @Override public void onError(UiError uiError) { T.showShort(mContext,"分享失败"); } @Override public void onCancel() { T.showShort(mContext,"分享取消"); }}
更多相关文章
- 在Android中启动执行java程序
- Android使用WebView实现图片点击的监听
- android 保存图片到数据库
- Android, adb 安装后不能启动
- android标题栏中添加返回按钮
- Android动态设置android:drawableLeft|Right|Top|Bottom 并根据
- android上传多张图片
- achartengine之折线图---简单用法
- android工程中,各种类型的资源文件