我收到了一個已安裝的軟件包列表,我如何知道哪一個可以移動到SD卡?已安裝的軟件包可以移動到SDCard
List<PackageInfo> list = pm.getInstalledPackages(0);
for (int i = 0; i < list.size(); i++) {
}
if (_pm != null) {
List<PackageInfo> list = _pm.getInstalledPackages(0);
for (int i = 0; i < list.size(); i++) {
PackageInfo current = list.get(i);
long pkgSize = new File(current.applicationInfo.sourceDir).length();
String pkgName = current.packageName;
String appName = current.applicationInfo.loadLabel(_pm).toString();
Drawable appIcon = current.applicationInfo.loadIcon(_pm);
//if (pInfo.installLocation != PackageInfo.INSTALL_LOCATION_INTERNAL_ONLY)//?
PackageItem pi = new PackageItem(pkgName, pkgSize, appIcon, appName);
if (_locationMode == LOCATION_PHONE) {
if (!onSdCard(pkgName)) {
_adapter.add(pi);
}
} else {
if (onSdCard(pkgName)) {
_adapter.add(pi);
}
}
}
}
我既從我目前發現.installLocation,也沒有從PackageInfo .INSTALL_LOCATION_INTERNAL_ONLY找到。有什麼問題?
我既從我目前發現.installLocation,也沒有從PackageInfo .INSTALL_LOCATION_INTERNAL_ONLY找到。有什麼問題?
我認爲問題是,你正在使用'0',而不是實際的,[常旗(http://developer.android.com/reference/android /content/pm/PackageManager.html#GET_ACTIVITIES)(即'PackageManager.GET_ACTIVITIES')。 –
你是什麼意思?問題是我在eclipse中找不到packaheInfo.installLocation。 – thecr0w