判断手机是否安装微信、支付宝

如果有需求场景需要判断手机或者Android设备是否安装了微信或者支付宝,不想集成SDK,可以通过代码来进行判断,判断是否安装其他app也可以使用这种方式,这种方式是通过获取手机安装的程序判断包名是否包含某个程序

判断微信支付宝代码如下:

public class IsInstallApp {

    public static boolean checkApkExist(Context context, String packageName) {
        if (packageName == null || "".equals(packageName))
            return false;
        try {
            ApplicationInfo info = context.getPackageManager().getApplicationInfo(packageName,
                    PackageManager.GET_UNINSTALLED_PACKAGES);
            return true;
        } catch (PackageManager.NameNotFoundException e) {
            return false;
        }
    }

    /**
     * 检测是否安装支付宝
     * @return     * @param context
     */
    public static boolean checkAliPayInstalled(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;

    }

    /**
     * 判断 用户是否安装微信客户端
     */
    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 isQQClientAvaolable(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.equalsIgnoreCase("com.tencent.qqlite")||pn.equalsIgnoreCase("com.tencent.mobileqq")){
                    return true;
                }
            }
        }
        return false;
    }
}
微信包名:com.tencent.mm
支付宝包名:com.eg.android.AlipayGphone

转自:android 11 上配置微信授权、判断是否安装微信或支付宝 、h5 拉起支付问题

猜你喜欢

转载自blog.csdn.net/xiaopihair123/article/details/128399782