Android detecta si hay una aplicación instalada en el teléfono

Android Detects If An App Is Installed Phone

Determine cómo el teléfono instaló un programa:

private boolean isAvilible (contexto de contexto, String packageName) {
final PackageManager packageManager = context.getPackageManager () // Obtener el administrador de paquetes
List pinfo = packageManager.getInstalledPackages (0) // Obtiene la información del paquete para todos los programas instalados
List pName = new ArrayList () // se usa para almacenar el nombre del paquete de todos los programas instalados
// Elimina los nombres de los paquetes uno por uno de pinfo y colócalos en la lista pName.
if (pinfo! = null) {
para (int i = 0 iCadena pn = pinfo.get (i) .packageName
pName.add (pn)
}
}
return pName.contains (packageName) // Verifique si hay un nombre de paquete del programa de destino en pName, hay VERDADERO, no FALSO
}
La lógica después del juicio:



// Instalado, abra el programa, debe pasar el nombre del paquete de parámetros: 'com.tencent.mm'
if (isAvilible (esto, 'com.skype.android.verizon')) {
Intención i = nueva Intención ()
ComponentName cn = nuevo ComponentName ('com.tencent.mm',
'Com.tencent.mm.WeiXinActivity')
i.setComponent (cn)
startActivityForResult (i, RESULT_OK)
}
// No instalado, salta al mercado para descargar el programa
demás {
Uri uri = Uri.parse (' mercado: // detalles? id = com.tencent.mm ') / / id para el nombre del paquete



// Descarga directamente desde la URL especificada
// Uri uri = Uri.parse (' http://dldir1.qq.com/foxmail/weixin521android400.apk ')



|_+_|