Tengo una aplicación de Android donde quiero verificar si el nombre de una aplicación que está instalado coincide con una cadena que se transfiere a la función que contiene este código. El código y el ejemplo es el siguiente:¿Por qué mi comparación String to String falla?
private Boolean checkInstalledApp(String appName){
PackageManager pm = this.getPackageManager();
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> list = pm.queryIntentActivities(mainIntent, 0);
Boolean isInstalled = false;
for(ResolveInfo info: list) {
if (info.activityInfo.applicationInfo.loadLabel(pm).toString()==appName){
isInstalled = true;
break;
}
}
return isInstalled;
}
Suponiendo que llama checkInstalledApp("SetCPU");
y el nombre de la aplicación en el teléfono se llama lo mismo debe devolver true
. Sin embargo, nunca lo hace. Logré los resultados y debería coincidir, pero no es así. ¿Puede alguien por favor aclararme por qué esto no funciona?
Ah veo. Eso es definitivamente un error que este recién llegado hizo. Gracias. –