0
我想通过提供应用程序名称来查找我的应用程序的包名称。下面的方法在Droid3上花费很长时间。我如何优化这个或者我错过了什么?检查设备上应用程序instaleld的列表并找到我的应用程序的软件包名称?
String sPackageName = null;
PackageManager pm = m_Context.getPackageManager();
//get a list of installed apps.
List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA);
ApplicationInfo ap = new ApplicationInfo();
ap.loadLabel(pm);
for (ApplicationInfo packageInfo : packages) {
String sApp = packageInfo.loadLabel(pm).toString();
//Log.d(TAG, "Installed AppName = " + appName + " ,package :" + packageInfo.packageName);
//Log.d(TAG, "Launch Activity :" + pm.getLaunchIntentForPackage(packageInfo.packageName));
if(sApp.compareTo(sAppName) == 0){
sPackageName = packageInfo.packageName;
break;
}
}// the getLaunchIntentForPackage
return sPackageName;
感谢, DK
感谢您的回复。在我的情况下,我有'应用程序名称',并基于此,我需要找出这个应用程序是否已经安装在设备上,如果是,然后提取'包名'。我如何用你的建议做到这一点? – codersnet 2012-08-15 17:51:02