Generalidades

Cómo verificar si una app Android está instalada en tu dispositivo | Robot by Google | Feb 2022

robot de google

Para esto puedes hacer uso del metodo obtenerinfodelpaquete() Delaclas gerente de empaquetación el cual recupera informacion general sobre un paquete de aplicacion que se encuentra instalado en el sistema.

Se puede usar la siguiente función la cual recibrá el contexto y el nombre del paquete de la aplicación que deseamos comprobar se encuentra instalado, en caso de estar instalado ob tendremos un valor verdadero.

fun isPackageInstalled(context: Context, packagename: String?): Boolean {
var result = false
try
{
// is the application installed?
context.packageManager.getPackageInfo(packagename!!, PackageManager.GET_ACTIVITIES)
result = true
} catch (e: PackageManager.NameNotFoundException) {
//Not installed
}
return result
}

Podemos incluso modificar la función para que caso de que la aplicación definida por su nombre de paquete se encuentre instalada se abra automáticamente, en caso contrario se puede enviar a la Google Play usando como identificador el mismo nombre de paquete para que el usuario la pueda instalar*

fun checkPackageInstalled(context: Context, packagename: String?){
try {
// is the application installed?
context.packageManager.getPackageInfo(packagename!!, PackageManager.GET_ACTIVITIES)
//Open app!
val launchIntent = packageManager.getLaunchIntentForPackage(packagename)
launchIntent?.let { startActivity(it) }
} catch (e: PackageManager.NameNotFoundException) {
Log.i(TAG, "No existe app instalada " + e.message)
//Not installed, open Play store
context.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + packagename)))
}
}

Algo muy importante para que lo anterior funcione Correctamente, si compila tu app con Android 11 (nivel de API 30)para los dispositivos con este sistema operativo oterior tienes que agregar dentro de tu archivo AndroidManifest.xml el nombre de paquete con el que podrás interactuar tu aplicación, de lo contrario aunque se encuentre instalado únicamente se abre la aplicación en Google Play.

jalar visibilidad Fue introducción Android 11 (nivel de API 30) y cambia la forma en que las aplicaciones pueden consultar o interactuar con otras aplicaciones que el usuario instaló en un dispositivo.elemento medio las apps pueden definir el conjunto de otros paquetes a los que pueden acceder.

Este elemento incentiva el principio de privilegio mínimoindicándole al sistema qué otros paquetes debe mostrar para su aplicación y ayuda a que las tiendas de aplicaciones como Google Play evalúen la privacidad y la seguridad que la app proporciona a los usuarios.

Si tu app está orientada a Android 11 o versión posterior, debes agregar el elemento a tu archivo de manifiesto y dentro del elemento Puede especificar los paquetes por nombre, por Firma de Intent o por autoridad del Proveedor.

xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.jorgesys.kotlinIris"
>

<queries>
<package android:name="com.myapps.puisor" />
<package android:name="com.google.android.youtube" />
<package android:name="com.rovio.angrybirds"/>
<package android:name="com.myapps.jorgesys" />
queries>
...
...
...
manifest>

LEER  BattleOps v1.3.6 MOD APK + OBB para Android-MOZAPK

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba