安卓跳应用市场

前言

最近收到一个需求,业务要求在App添加一个跳转到应用市场的功能。

做这个功能,我们首先要准备:

1.统计目前公司的App投放在什么渠道;(这个可以询问公司的业务部门)

2.获取投放的应用市场App的包名;

3.判断手机是否存在投放的应用市场;

4.根据手机存在的应用市场自定义弹框,提供给用户选择。

获取投放的应用市场App的包名

目前国内主流的应用市场有:

腾讯应用宝:com.tencent.android.qqdownloader 

360手机助手:com.qihoo.appstore 

百度手机助手:com.baidu.appsearch 

小米应用商店:com.xiaomi.market 

华为应用商店:com.huawei.appmarket 

QQ手机管家:com.tencent.qqpimsecure 

OPPO应用商店:com.oppo.market 

中兴应用商店:zte.com.market 

联想应用商店:com.lenovo.leos.appstore 

可以根据公司投放的渠道使用相应应用市场的包名~

判断手机是否存在投放的应用市场:

   public static boolean isInstalledApp(Context context, String pakageName) {
        PackageManager packageManager = context.getPackageManager();
        //获取所有已安装程序的包信息
        List packageInfos = packageManager.getInstalledPackages(0);
        //用于存储所有已安装程序的包名
        ArrayList pName = new ArrayList<>();
        //从packageInfos中将包名取出
        if (null != packageInfos) {
            for (int i = 0; i < packageInfos.size(); i++) {
                String packageName = packageInfos.get(i).packageName;
                pName.add(packageName);
            }
        }
        //判断pName中是否有目标程序的包名 有返回true 没有返回false
        return pName.contains(pakageName);
    }

跳转到应用市场:

/**
     * 启动应用商店APP详情界面
     */
    public static void launchAppDetail(Context context, String appPkg, String marketPkg) {
        try {
            if (TextUtils.isEmpty(appPkg)) {
                return;
            }
            Uri uri = Uri.parse("market://details?id=" + appPkg);
            Intent intent = new Intent(Intent.ACTION_VIEW, uri);
            if (!TextUtils.isEmpty(marketPkg)) {
                intent.setPackage(marketPkg);
            }
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(intent);
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

你可能感兴趣的:(安卓跳应用市场)