APP跳转微信小程序,跳转微信公众号
一、判断手机是否安装了微信的工具类:
//判断手机是否安装了某些程序的工具类 public class IsInstallUtils {//判断是否安装了微信public static boolean isWeixinAvilible(Context context) {final PackageManager packageManager = context.getPackageManager();// 获取packagemanagerList<PackageInfo> pinfo = packageManager.getInstalledPackages(0);// 获取所有已安装程序的包信息if (pinfo != null) {for (int i = 0; i < pinfo.size(); i++) {String pn = pinfo.get(i).packageName;if (pn.equals("com.tencent.mm")) {return true;}}}return false;}//判断是否安装了QQpublic static boolean isQQClientAvailable(Context context) {final PackageManager packageManager = context.getPackageManager();List<PackageInfo> pinfo = packageManager.getInstalledPackages(0);if (pinfo != null) {for (int i = 0; i < pinfo.size(); i++) {String pn = pinfo.get(i).packageName;if (pn.equals("com.tencent.mobileqq")) {return true;}}}return false;}//检测是否安装支付宝public static boolean isAliPayInstalled(Context context) {Uri uri = Uri.parse("alipays://platformapi/startApp");Intent intent = new Intent(Intent.ACTION_VIEW, uri);ComponentName componentName = intent.resolveActivity(context.getPackageManager());return componentName != null;} }
二、Android App和微信的一些交互
1.APP跳转微信公众号:
if (IsInstallUtils.isWeixinAvilible(getActivity()) == true) {IWXAPI api = WXAPIFactory.createWXAPI(getActivity(), "微信开放平台AppId");JumpToBizProfile.Req req = new JumpToBizProfile.Req();req.toUserName = "小程序原始id";req.extMsg = "";req.profileType = JumpToBizProfile.JUMP_TO_NORMAL_BIZ_PROFILE;api.sendReq(req);} else {showToast("检测到手机未安装微信,请先下载微信"); }
2.APP跳转微信小程序
if (IsInstallUtils.isWeixinAvilible(getActivity())== true) {IWXAPI api = WXAPIFactory.createWXAPI(OrderXYDetailsActivity.this, "微信开放平台AppId");WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();req.userName = "小程序原始id"; req.path = "pages/index/index?tradeno=" + orderInfo.get(0).getTradeno() + "&yybh=" + orderInfo.get(0).getYybh(); //拉起小程序页面的可带参路径,不填默认拉起小程序首页req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE;// 可选打开 开发版,体验版和正式版api.sendReq(req);} else {showToast("检测到手机未安装微信,请先下载微信"); }
3.APP进行微信分享
public class ShareUtils {//分享到微信好友列表public static void ShareWXFriendList(final Context context, String url, String title, String description, final String HeaderImage) {WXWebpageObject webpage2 = new WXWebpageObject();webpage2.webpageUrl = url;final WXMediaMessage msg2 = new WXMediaMessage(webpage2);msg2.title = title;msg2.description = description;if (HeaderImage.equals("")) {Bitmap thumb2 = BitmapFactory.decodeResource(context.getResources(), R.mipmap.ic_launcher);Bitmap thumbBmp = Bitmap.createScaledBitmap(thumb2, 200, 200, true);msg2.thumbData = ImageUtils.bitmap2Bytes(thumbBmp, Bitmap.CompressFormat.PNG);} else {new AsyncTask<String, Void, Bitmap>() {@Overrideprotected Bitmap doInBackground(String... params) {return getBitMap(context,params[0]);}@Overrideprotected void onPostExecute(Bitmap bitmap) { // int byteCount = bitmap.getByteCount();Bitmap thumbBmp = Bitmap.createScaledBitmap(bitmap, 200, 200, true);msg2.thumbData = ImageUtils.bitmap2Bytes(thumbBmp, Bitmap.CompressFormat.JPEG);new AsyncTask<String, Void, Bitmap>() {@Overrideprotected Bitmap doInBackground(String... params) {return getBitMap(context,params[0]);}@Overrideprotected void onPostExecute(Bitmap bitmap) { // int byteCount = bitmap.getByteCount();Bitmap thumbBmp = Bitmap.createScaledBitmap(bitmap, 200, 200, true);msg2.thumbData = ImageUtils.bitmap2Bytes(thumbBmp, Bitmap.CompressFormat.JPEG);SendMessageToWX.Req req2 = new SendMessageToWX.Req();req2.transaction = "webpage" + System.currentTimeMillis();req2.message = msg2;req2.scene = SendMessageToWX.Req.WXSceneSession;//发送到好友界面req.scene = isTimelineCb.isChecked() ? SendMessageToWX.Req.WXSceneTimeline : SendMessageToWX.Req.WXSceneSession;MyApplication.getWXapi().sendReq(req2);}}.execute(HeaderImage);}}.execute(HeaderImage);}SendMessageToWX.Req req2 = new SendMessageToWX.Req();req2.transaction = "webpage" + System.currentTimeMillis();req2.message = msg2;req2.scene = SendMessageToWX.Req.WXSceneSession;//发送到好友界面req.scene = isTimelineCb.isChecked() ? SendMessageToWX.Req.WXSceneTimeline : SendMessageToWX.Req.WXSceneSession;MyApplication.getWXapi().sendReq(req2);}//分享到微信朋友圈public static void ShareWXFriendCircle(final Context context, String url, String title, String description, final String HeaderImage) {WXWebpageObject webpage2 = new WXWebpageObject();webpage2.webpageUrl = url;final WXMediaMessage msg2 = new WXMediaMessage(webpage2);msg2.title = title;msg2.description = description;if (HeaderImage.equals("")) {Bitmap thumb2 = BitmapFactory.decodeResource(context.getResources(), R.mipmap.ic_launcher);msg2.thumbData = ImageUtils.bitmap2Bytes(thumb2, Bitmap.CompressFormat.PNG);} else {new AsyncTask<String, Void, Bitmap>() {@Overrideprotected Bitmap doInBackground(String... params) {return getBitMap(context,params[0]);}@Overrideprotected void onPostExecute(Bitmap bitmap) { // int byteCount = bitmap.getByteCount();Bitmap thumbBmp = Bitmap.createScaledBitmap(bitmap, 200, 200, true);msg2.thumbData = ImageUtils.bitmap2Bytes(thumbBmp, Bitmap.CompressFormat.JPEG);new AsyncTask<String, Void, Bitmap>() {@Overrideprotected Bitmap doInBackground(String... params) {return getBitMap(context,params[0]);}@Overrideprotected void onPostExecute(Bitmap bitmap) { // int byteCount = bitmap.getByteCount();Bitmap thumbBmp = Bitmap.createScaledBitmap(bitmap, 200, 200, true);msg2.thumbData = ImageUtils.bitmap2Bytes(thumbBmp, Bitmap.CompressFormat.JPEG);SendMessageToWX.Req req2 = new SendMessageToWX.Req();req2.transaction = "webpage" + System.currentTimeMillis();req2.message = msg2;req2.scene = SendMessageToWX.Req.WXSceneTimeline;//发送到好友界面req.scene = isTimelineCb.isChecked() ? SendMessageToWX.Req.WXSceneTimeline : SendMessageToWX.Req.WXSceneSession;MyApplication.getWXapi().sendReq(req2);}}.execute(HeaderImage);}}.execute(HeaderImage);}SendMessageToWX.Req req2 = new SendMessageToWX.Req();req2.transaction = "webpage" + System.currentTimeMillis();req2.message = msg2;req2.scene = SendMessageToWX.Req.WXSceneTimeline;//发送到好友界面req.scene = isTimelineCb.isChecked() ? SendMessageToWX.Req.WXSceneTimeline : SendMessageToWX.Req.WXSceneSession;MyApplication.getWXapi().sendReq(req2);}public static Bitmap getBitMap(Context context,String ImageUrl) {Bitmap bitmap = null;try { // bitmap = Glide.with(context).load(ImageUrl).asBitmap().centerCrop().into(128,128).get();} catch (Exception e) {e.printStackTrace();}return bitmap;} }
APP跳转微信小程序,跳转微信公众号相关推荐
- 微信小程序生态13-微信公众号自定义菜单、个性化菜单配置
文章导航 微信小程序生态1-初识小程序 微信小程序生态2-创建一个微信小程序 微信小程序生态3-微信小程序登录流程设计 微信小程序生态4-扫普通二维码进入小程序.打开短链接进入小程序 微信小程序生态5 ...
- 微信小程序获取并展示公众号推文
微信小程序获取并展示公众号推文 获取公众号access_token(开发环境) IP白名单设置 获取access_token 小程序前端展示 素材导入云数据库 云函数读取展示 注:笔者是小程序菜鸟,代 ...
- 微信小程序 official-account组件 关注公众号
昨天微信小程序发布了 official-account 相关组件,从意思上来讲可以通过小程序直接点击标签关注对应的公众号今天一上班就试了一下. 文档不长,但是对于我这种看文档能力较差的人还是有点吃力的 ...
- 微信小程序web-view内嵌公众号网页分享功能实现
web-view嵌入网页分享,有二种分享情况 1.小程序分享出当前打开的页面 2.部分页面要求,分享指定页面,而不是当前的页面 以下是代码部分 一.web-view内嵌公众号网页 ...
- java获取openid_JAVA获取微信小程序openid和获取公众号openid,以及通过openid获取用户信息...
https://www.cnblogs.com/lxwt/p/10154540.html?tdsourcetag=s_pcqq_aiomsg 一,首先说明下这个微信的openid 为了识别用户,每个用 ...
- 微信小程序中如何打开公众号文章(node版)
1. 技术要求 微信开发经验+小程序开发经验+会一点node 2. 思路 在6月份的一次更新,webview组件增加新的能力,webview 指向网页的链接.可打开关联的公众号的文章,其它网页需登录小 ...
- 微信小程序入门10-微信公众号token验证失败
为了更好的运营公众号,微信官方支持用户自定义实现公众号功能,这里第一步就是配置服务器回调域名,如下图: 如果是SpringBoot项目,我们会写一个如下的Controller类 import lomb ...
- 微信小程序入门7-微信公众号设置IP白名单
一.为什么要配置IP白名单 此处IP为服务器对公网IP: 在IP白名单内的IP地址作为来源,获取access_token接口才可调用成功. 而想要调用公众号相关API,就必须获取access_toke ...
- 小程序订阅消息和公众号模板消息
通过小程序和公众号关联后发公众号模板消息 关联后用户登录获取到union_id,主体在小程序,根据对应场景发送模板消息 代码如下: /*** 模板消息 发送* @param $openid 接收消息的 ...
- 手机按三角返回页面上一页_小猿圈微信小程序跳转页面都有哪些?
随着科技的进步互联网的发展,微信小程序逐渐成为了很多推广渠道的入口,但是因为很多做前端的小伙伴们不知道怎么去实现跳转页面,弄得不知所措,今天小猿圈前端讲师就给你讲解几种微信小程序跳转页面方法. 微信小 ...
最新文章
- Java 文件和byte数组转换
- UVA11384正整数序列(把123..变成0的最小步数)
- ubuntu linux 下 single node hadoop
- 万字长文!2020-2021京东Java面试真题解析
- 传统数据中心如何实现向云的平滑升级
- 用好这个新功能,报表数据安全瞬间提升一个等级!
- 实战HPUX 11.31 MC/SG更换锁盘
- Android之ContentProvider数据存储
- excel运行python_使用PyXLL在Excel中执行Python脚本
- JS通过ajax动态读取xml文件内容
- java程序设计颜志军_毕业论文(设计)大学生竞赛管理系统的设计与实现.doc
- Java-数据结构-TreeMap
- android 倒水动画,Android 模拟圆形水杯倒水的效果
- 行存储和列存储的区别
- 24岁博士毕业、47岁当选院士的他,正式担任上海交通大学校长!
- Python基础入门----递归
- Protege新手入门(基础篇)
- [main] org.apache.catalina.core.StandardContext.startInternal 一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件
- linux praat 脚本,Praat脚本编程中文教程:实例讲解提取十点基频脚本
- chrome拓展以及油猴脚本推荐