app分享时判断手机是否已安装微信或QQ客户端

/**
  * 判断 用户是否安装微信客户端
 */
public static boolean isWeixinAvilible(Context context) {
    final PackageManager packageManager = context.getPackageManager();// 获取packagemanager
    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.mm")) {
                return true;
            }
        }
    }
    return false;
}
 /**
  * 判断 用户是否安装QQ客户端
 */
public 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;
            LogUtils.e("pn = "+pn);
            if (pn.equalsIgnoreCase("com.tencent.qqlite") || pn.equalsIgnoreCase("com.tencent.mobileqq")) {
                return true;
            }
        }
    }
    return false;
}
if(isWeixinAvilible(this)) {
    Intent intent = getPackageManager().getLaunchIntentForPackage("com.tencent.mm");
    startActivity(intent);
}else{
    Toast.makeText(this, "您还没有安装微信,请先安装微信客户端",Toast.LENGTH_SHORT).show();
}

跳转微信只需要加上如上代码即可:

原理就是判断手机中是否存在微信或QQ的包名

原文地址:https://www.cnblogs.com/anni-qianqian/p/5627185.html