在 Android 中获取当前应用程序的版本信息(版本号和版本名称)非常简单,可以使用 PackageManager 类中的 getPackageInfo() 方法。你可以通过这个方法获取到 versionCode(内部版本号)和 versionName(版本名称)。
以下是获取应用版本的详细代码:
Java 代码
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.util.Log;import androidx.appcompat.app.AppCompatActivity;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 调用获取应用版本信息的方法getAppVersion();}// 获取应用版本信息private void getAppVersion() {try {// 获取包管理器PackageManager packageManager = getPackageManager();// 获取当前应用的包名String packageName = getPackageName();// 通过包名获取包信息PackageInfo packageInfo = packageManager.getPackageInfo(packageName, 0);// 获取版本名称 (例如:1.0)String versionName = packageInfo.versionName;// 获取版本号 (例如:1)int versionCode = packageInfo.versionCode;// 打印版本信息Log.d("AppVersion", "Version Name: " + versionName);Log.d("AppVersion", "Version Code: " + versionCode);} catch (PackageManager.NameNotFoundException e) {e.printStackTrace();}}
}
代码说明:
getPackageManager():获取系统的PackageManager,用于获取应用程序的包信息。getPackageName():返回当前应用的包名。getPackageInfo(packageName, 0):通过包名获取PackageInfo对象,PackageInfo包含了应用程序的版本信息等。versionName:这是应用的版本名称,通常用于用户界面中显示的版本。versionCode:这是应用的内部版本号,每次发布新版本时应该递增,系统使用它来区分不同的应用版本。
使用的日志输出
日志中会输出当前的版本名称和版本号,你可以通过 Logcat 来查看这些信息:
D/AppVersion: Version Name: 1.0
D/AppVersion: Version Code: 1
扩展:
versionCode是整数值,在 Android API 31(Android 12)之后改为long类型。对于 Android 12 及以上,建议使用long类型来处理版本号。- 如果需要在应用的界面中展示版本信息,可以将版本名称或者版本号赋值给
TextView,显示在应用界面上。
