如何在不使用上下文

时间:2015-12-07 10:59:02

标签: android

我希望在应用程序的外围实例化Retrofit,在实现需要SOME网络库进行API调用的接口的类中。

我想将App Version作为自定义标头添加到我的所有Retrofit请求中,这可以在Retrofit实例化时完成。

我无法访问Context,我希望能够以某种方式动态获取应用版本(无需每次都对其进行硬编码),而无需使用Context。

或许我应该将上下文传递给选择的网络库?

我只知道这种获取应用版本的方法,使用上下文:

 private static String getAppVersion(Context context) {
        String appVersion = "";
        try {
            if (context != null) {
                PackageInfo pInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
                if (pInfo != null) {
                    appVersion = pInfo.versionName;
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return appVersion;
    } // End of getAppVersion

1 个答案:

答案 0 :(得分:2)

如果您使用的是Gradle / Android Studio,则可以使用

静态获取
int verCode = BuildConfig.VERSION_CODE;
String verName = BuildConfig.VERSION_NAME;