Cómo determinar si Baidu Maps de terceros está instalado en su teléfono móvil
Método para determinar si un programa ha sido instalado en el teléfono:
private boolean isAvilible(Context context, String packageName){
final PackageManager packageManager = context .getPackageManager() ;//Obtener administrador de paquetes
Listlt; packageInfogt; pinfo = packageManager.getInstalledPackages(0); //Obtener información del paquete de todos los programas instalados
Listgt; = new ArrayListlt ;Stringgt;(); //Se utiliza para almacenar los nombres de los paquetes de todos los programas instalados
//Extrae los nombres de los paquetes uno por uno de pinfo y los inserta en la lista pName
if( pinfo != null){
for(int i = 0; i lt; pinfo.size(); i ){
String pn = pinfo.get (i).nombredelpaquete ;
pName.add(pn);
}
}
return pName.contains(nombredelpaquete) ; // Juzgue pName si existe el nombre del paquete del programa de destino, VERDADERO, no FALSO
}
Lógica después del juicio:
//Ya instalado , abra el programa, se requiere Pase el nombre del paquete de parámetros: "com.skype.android.verizon"
if(isAvilible(this, "com.skype.android.verizon")){
Intención i = nueva Intención();
Nombre del componente cn = nuevo Nombre del componente("com.skype.android.verizon",
"com.skype.android.verizon .SkypeActivity");
p>i.setComponent(cn);
startActivityForResult(i, RESULT_OK);
}
//No instalado, salta al mercado Descarga el programa
else {
Uri uri = Uri.parse("market://details?id=com.skype.android.veriz
on"); //id es el nombre del paquete
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
}