アプリ名を指定して、アプリケーションのパッケージ名を見つけようとしています。以下のアプローチは、Droid3 で非常に時間がかかります。これを最適化するにはどうすればよいですか、それとも何か不足していますか?
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