可以通过 PackageManager 类来获取指定包名的所有版本信息。

获取单个包名版本信息

PackageManager pm = getPackageManager();
String packageName = 'com.example.app'; // 替换成需要查询的包名
try {
    PackageInfo packageInfo = pm.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES);
    int versionCode = packageInfo.versionCode; // 版本号
    String versionName = packageInfo.versionName; // 版本名

    // 打印版本信息
    Log.d("PackageInfo", "VersionCode:" + versionCode + ", VersionName:" + versionName);

} catch (PackageManager.NameNotFoundException e) {
    e.printStackTrace();
}

获取所有已安装应用程序的版本信息

PackageManager pm = getPackageManager();
List<ApplicationInfo> apps = pm.getInstalledApplications(PackageManager.GET_META_DATA);

for (ApplicationInfo appInfo : apps) {
    String packageName = appInfo.packageName;

    try {
        PackageInfo packageInfo = pm.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES);
        int versionCode = packageInfo.versionCode; // 版本号
        String versionName = packageInfo.versionName; // 版本名

        // 打印版本信息
        Log.d("PackageInfo", "Package:" + packageName + ", VersionCode:" + versionCode + ", VersionName:" + versionName);

    } catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
    }
}
Android 获取指定包名所有版本信息:代码示例

原文地址: http://www.cveoy.top/t/topic/onhE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录