java - 在android中获取versionCode时包管理器死掉了

标签 java android

当我得到如下版本代码时:

public static int getVersionCode(Context context) {
    try {
        PackageInfo info = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
        return info.versionCode;
    } catch (Exception e) {
        return -1;
    }
}

这是发生时的痕迹:

java.lang.RuntimeException: Package manager has died
at android.app.ApplicationPackageManager.getPackageInfo(ApplicationPackageManager.java:78)

最佳答案

我有类似的代码并且它工作正常,所以我不明白为什么你的崩溃,我很好奇你是否能找到导致崩溃的原因。

您的另一种选择是不动态查找它,而是从构建配置中获取它。

public int getVersion(Context context) {
    return BuildConfig.VERSION_CODE;
}

关于java - 在android中获取versionCode时包管理器死掉了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32499078/

相关文章:

java - 通过单击 Eclipse Java 桌面应用程序中的图像从欢迎页面加载 VIEW

java - 未找到主类

java - 为什么包管理器总是为空?

android - 附加到 EditText 的适配器的动态数据

java - CardLayout:如何在一个类中的ActionListeners中显示另一类中的面板?

java - RichFaces:a4j:region 中的 c:forEach

android - 如何在android中获取移动时区的缩写/国家代码?

java - 我可以删除 xml 文件吗?安卓

android - 从 Android 用户获取崩溃日志、调试信息?

Android:在通话期间检测当前 Activity 的电话号码