Android上架app版本检测更新app - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 技术分享 >

Android上架app版本检测更新app

发表时间:2020-10-17

发布人:葵宇科技

浏览次数:34

1:请求接口返回如果有新版本则


/**
 * date:2020/9/22 0022
 * author:wsm (Administrator)
 * funcation:有市场打开。没有打开浏览器
 */
public class AppUpdateUtils {

    public static void dialogUpdateVersion(Context context) {
        int index = 0;
        //获取应用市场的代码
        ArrayList<String> installedMarketPkgs = getInstalledMarketPkgs(context);
        for (int j = 0; j < installedMarketPkgs.size(); j++) {
            if (installedMarketPkgs.get(j).equals("com.tencent.android.qqdownloader") || installedMarketPkgs.get(j).equals("com.oppo.market") ||
                    installedMarketPkgs.get(j).equals("com.xiaomi.market") || installedMarketPkgs.get(j).equals("com.bbk.appstore")) {
                Intent intent = new Intent("android.intent.action.VIEW", Uri.parse("market://details?id=这里是你的app应用的包名"));
                context.startActivity(intent);
                index = 1;
                break;
            }
        }
        if (index != 1) {
            Intent intent = new Intent();
            intent.setAction("android.intent.action.VIEW");
//            Uri download_url = Uri.parse(url);
            Uri download_url = Uri.parse("http://a.app.qq.com/o/simple.jsp?pkgname=这里是你的app应用的包名");
            intent.setData(download_url);
            context.startActivity(intent);
        }

    }

    /**
     * 获取当前手机上的应用商店数量
     *
     * @param context
     * @return
     */
    public static ArrayList<String> getInstalledMarketPkgs(Context context) {
        ArrayList<String> pkgs = new ArrayList<>();
        if (context == null)
            return pkgs;
        Intent intent = new Intent();
        intent.setAction("android.intent.action.VIEW");
        intent.addCategory(Intent.CATEGORY_DEFAULT);
        intent.setData(Uri.parse("market://details?id="));
        PackageManager pm = context.getPackageManager();
        // 通过queryIntentActivities获取ResolveInfo对象
        List<ResolveInfo> infos = pm.queryIntentActivities(intent,
                0);
        if (infos == null || infos.size() == 0)
            return pkgs;
        int size = infos.size();
        for (int i = 0; i < size; i++) {
            String pkgName = "";
            try {
                ActivityInfo activityInfo = infos.get(i).activityInfo;
                pkgName = activityInfo.packageName;
            } catch (Exception e) {
                e.printStackTrace();
            }
            if (!TextUtils.isEmpty(pkgName))
                pkgs.add(pkgName);
        }
        return pkgs;
    }

}

2:判断是否有新版本,更新则调用跳转应用市场更新

 //立即更新
 AppUpdateUtils.dialogUpdateVersion(MainActivity.this);

相关案例查看更多