我可以在运行时获取使用过的TargetSDKVersion吗?
这是因为Android API 19中的WebView处理像素的方式与19之前不同.
这是一个库,所以我不想让开发人员手动输入它.
我的评论:我正在使用我的Nexus 5 API 21 Lollipop.更改TargetSDKVersion会改变html的javascript读取宽度的方式,屏幕密度的倍数.我刚刚将其更改为14然后更改为19,我确认了这一点.
Kas*_*ala 14
在我的情况下,我做到了这一点
int targetSdkVersion = getApplicationContext().getApplicationInfo().targetSdkVersion;
Run Code Online (Sandbox Code Playgroud)
关于目标SDK版本,请查看ApplicationInfo类(从此处获取)
int version = 0;
IPackageManager pm = AppGlobals.getPackageManager();
try {
ApplicationInfo applicationInfo = pm.getApplicationInfo(yourAppName, 0);
if (applicationInfo != null) {
version = applicationInfo.targetSdkVersion;
}
}
Run Code Online (Sandbox Code Playgroud)
要么
如果我们谈论设备操作系统版本
android.os.Build.VERSION.SDK_INT
Run Code Online (Sandbox Code Playgroud)
这是使用以下方法targetSdkVersion在运行时获取应用程序的另一种方法Android Studio:
try {
PackageInfo packageInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
int targetSdkVersion = packageInfo.applicationInfo.targetSdkVersion;
}
catch (PackageManager.NameNotFoundException e) {
Log.e(TAG, e.getMessage());
}
Run Code Online (Sandbox Code Playgroud)
值的targetSDKVersion定义在我的build.gradle文件中
defaultConfig {
applicationId "com.tuna.hello.androidstudioapplication"
minSdkVersion 9
targetSdkVersion 22
versionCode 12
versionName "1.0"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7486 次 |
| 最近记录: |