【发布时间】:2011-06-17 07:29:21
【问题描述】:
我想获取安装在 Android 中的第三方应用程序的名称和包名。 我试过了,但我得到了所有应用程序的名称(第三方和预安装的)。
如何识别应用程序是系统应用程序还是其他应用程序?
【问题讨论】:
标签: android android-package-managers
我想获取安装在 Android 中的第三方应用程序的名称和包名。 我试过了,但我得到了所有应用程序的名称(第三方和预安装的)。
如何识别应用程序是系统应用程序还是其他应用程序?
【问题讨论】:
标签: android android-package-managers
这会成功的......干杯:)
PackageManager pm = getPackageManager();
List<PackageInfo> list = pm.getInstalledPackages(0);
for (PackageInfo pi : list) {
ApplicationInfo ai;
try {
ai = pm.getApplicationInfo(pi.packageName, 0);
System.out.println(">>>>>>packages is<<<<<<<<" + ai.publicSourceDir);
// this condition if satisfied means the application currently refered by ai
// variable is
// a system application
if ((ai.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
Log.d(getClass().getSimpleName(), ">>>>>>packages is system package" + pi.packageName);
}
} catch (NameNotFoundException e) {
Log.d(getClass().getSimpleName(), "Name not found", e);
}
}
【讨论】:
Goto DDMS Perspective ---> 点击模拟器或设备 ---> 检查文件资源管理器 ---> 数据 --> 数据文件夹 ---> 将安装应用程序名称,注意它们的包名 :)
希望对你有帮助
【讨论】: