我希望在应用程序的外围实例化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
答案 0 :(得分:2)
如果您使用的是Gradle / Android Studio,则可以使用
静态获取int verCode = BuildConfig.VERSION_CODE;
String verName = BuildConfig.VERSION_NAME;