如果我想获得这样的外部路径,并且设备具有 Android 2.1 (api 7)
File f;
int sdkVersion = Integer.parseInt(Build.VERSION.SDK);
if (sdkVersion >= 8) {
System.out.println(">=8");
f = getApplicationContext().getExternalFilesDir(null);
} else {
System.out.println("<=7");
f = Environment.getExternalStorageDirectory();
}
LogCat 将显示:
05-25 15:44:08.355: W/dalvikvm(16688): VFY: unable to resolve virtual method 12: Landroid/content/Context;.getExternalFilesDir (Ljava/lang/String;)Ljava/io/File;
,但应用程序不会粉碎。我想知道什么是VFY?虚拟机 dalvik 中是否有一些东西可以检查被调用方法中的代码是否有效?因为当前项目是针对 Android 2.2 编译的,所以 Eclipse 没有抱怨.. 但在运行时,我得到了 LogCat 条目
PS:我真的不使用这样的方法,我有一个 Helper 类,它为 API<=7 或另一个为 API>=8 初始化一个类。但仍然请回答!