一、判断手机是否安装了微信的工具类:

//判断手机是否安装了某些程序的工具类
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;}
}

Android应用跳转微信各种类型的总结记录相关推荐

  1. Android APP跳转微信小程序和APP跳转支付宝小程序传参

    Android APP跳转微信小程序和APP跳转支付宝小程序传参 微信开放文档链接 MINIPROGRAM_TYPE_PREVIEW:体验版. MINIPROGRAM_TYPE_TEST:开发版 MI ...

  2. Android App跳转微信小程序

    最近,有一个App跳转小程序的需求,参考微信的官方文档,接入还是比较简单的,不过中途遇到了一个坑,所以记录一下. 首先,需要登录微信开放平台 微信开放平台,创建一个移动应用,然后系统会返回一个appi ...

  3. 微信扫描二维码实现自动跳转 微信直接下载App(iOS/Android)的解决方案

    微信扫描二维码实现自动跳转 微信直接下载App(iOS/Android)的解决方案 参考文章: (1)微信扫描二维码实现自动跳转 微信直接下载App(iOS/Android)的解决方案 (2)http ...

  4. android开发百度地图坐标偏差,利用百度地图Android sdk高仿微信发送位置功能及遇到的问题...

    接触了百度地图开发平台半个月了,这2天试着模仿了微信给好友发送位置功能,对百度地图的操作能力又上了一个台阶 我在实现这个功能的时候,遇到一些困难,可能也是别人将会遇到的困难,特在此列出 1.在微信发送 ...

  5. 新版微信不停跳转到小程序_如何设置跳转微信小程序

    一.功能效果 手机网站常用模块:文本.图片.按钮支持设置点击跳转微信小程序. 可实现手机微信端下,打开手机网站可与微信小程序的实现相互跳转. 二.注意事项 [版本]展示中级版及以上版本支持开通. [条 ...

  6. APP 跳转微信小程序和回调

    在同一开放平台账号下的移动应用及小程序无需关联即可完成跳转,非同一开放平台账号下的小程序需与移动应用(APP)成功关联后才支持跳转. 可在"管理中心-移动应用-应用详情-关联小程序信息&qu ...

  7. 学不动了,尝试用Android Jetpack Compose重写微信经典飞机大战游戏

    前段时间看了TechMerger大佬写的<一气呵成:用Compose完美复刻Flappy Bird!>,甚是有趣,按耐不住那躁动的心,笔者决定跟随大佬的脚步通过写游戏的方式学习Jetpac ...

  8. Android分享文件到微信和QQ功能的实现(兼容android 7.0以上的共享文件)

    Android分享文件到微信和QQ功能的实现(兼容android 7.0以上的共享文件) 在android开发过程中,遇到需要分享数据到微信的开发需求时,基本都是集成友盟等第三方开发工具,简单集成SD ...

  9. 【Android 逆向】Android 逆向通用工具开发 ( Android 平台运行的 cmd 程序类型 | Android 平台运行的 cmd 程序编译选项 | 编译 cmd 可执行程序 )

    文章目录 一.Android 平台运行的 cmd 程序类型 二.Android 平台运行的 cmd 程序编译选项 三.编译 Android 平台的 cmd 可执行程序 一.Android 平台运行的 ...

最新文章

  1. Codeforces Round #482 (Div. 2)
  2. 什么是语音复用设备?
  3. python回溯方法的模板_Python基于回溯法子集树模板解决0-1背包问题实例
  4. C++学习之路 | PTA乙级—— 1018 锤子剪刀布 (20分)(精简)
  5. 创意or鸡肋?亚马逊想让智能音箱“手机”化
  6. qss qmenu 设置icon位置大小_实战PyQt5: 125-使用配置文件来保存和恢复应用的设置...
  7. julia go python_过去的Python的四个挑战者:Swift、Go、Julia、R
  8. 称重指示器行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  9. 用python实现(1.求输入的百倍,十位,个位数;2.输入a,b和ab间夹角,计算c边长;3.计算两点间曼哈顿距离;4.计算给定数据的几何平均数;5.计算向量的L1和L2范数)
  10. ffmpeg(8) AVIOContext II
  11. 《艾恩ASP文件上传类》开发和使用总结
  12. 【计算电磁学】简单的C语言一维FDTD仿真程序
  13. WIN10创建虚拟桌面
  14. 这样处理,Java中的注释代码也会执行
  15. SEO优化之—关键词批量查询工具
  16. 3DVR全景制作流程及方法教程
  17. IO系列(一):IO
  18. 线性分类器:Batch Perception+Ho_Kashyap+MSE原理及代码实现
  19. 新版标准日本语中级_第二十八课
  20. shader实现雪地中的脚印

热门文章

  1. MySQL使用WHERE子句设置查询条件
  2. linux审计日志都包含哪儿写,windows系统中的审计日志包括哪些
  3. Windows2014使用NBU备份实现Oracle11g本地恢复和异地恢复
  4. msp430的DCO校准值被清除后该如何处理
  5. Tiktok和pinterest对比
  6. java逻辑他推理之公式逆推
  7. 计算机蓝屏安全模式都启动不了,windows进入系统安全模式时蓝屏怎么办?
  8. 我酸了,蚂蚁上市,财富自由都是他们的4、蚂蚁金服上市,算算你离财富自由还有多远?...
  9. c语言+usb驱动开发,usb驱动程序分析
  10. 精准锁定证件材料篡改位置,合合信息智能图像处理技术助力金融机构防范违规开户