Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo determinar si Baidu Maps de terceros está instalado en su teléfono móvil

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);

}