Android 判断应用程序装配位置
Android 判断应用程序安装位置
if ((appInfo.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0) {
// App on sdcard
System.out.println(pkgName+" install on sdcard");
}
从Android
2.2开始软件可以安装到SD卡上,在API Level为8的SDK中新增了一个标记可以判断应用程序安装在机身内或机身外,通过
ApplicationInfo.FLAG_EXTERNAL_STORAGE
标记可以判断应用是否为是否安装在Sdcard上,当然对于SDK低于Android
2.2时可以通过ApplicationInfo的sourceDir属性为/sdcard/开头来确定APK安装的位置。
如下:
PackageManager pm=ctx.getPackageManager();
ApplicationInfo appInfo=pm.getApplicationInfo(pkgName, 0);
if ((appInfo.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0) {
// App on sdcard
System.out.println(pkgName+" install on sdcard");
}