Il semble que vous êtes en mesure de recevoir l'événement d'un nouveau paquet ajouté après cela c'est un concept très simple pour obtenir toutes les informations pertinentes sur ce paquet comme une telle information est le nom de l'application donc voici le concept
-> le gestionnaire de paquets de votre appareil contient toutes les informations qui s'y rapportent. Il suffit donc de créer un objet de ce type pour obtenir toutes les informations relatives au nom du paquet.
-> Vous devez également vous rappeler que l'intention vous donne "package : real_package_name" donc vous devez d'abord obtenir le vrai nom par spilling(j'ai utilisé) ou par toute autre implémentation simple de String
-> Voici le code en espérant que vous obtiendrez ce que vous voulez Je donne également des informations sur la façon dont vous pouvez obtenir le nom de l'application, l'icône de l'application, la version de l'application, le code de la version de l'application etc.....
public class NewAppReciver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals("android.intent.action.PACKAGE_ADDED")){
String[] a=intent.getData().toString().split(":");
String packageName=a[a.length-1];
List<PackageInfo> packageInfoList = context.getPackageManager().getInstalledPackages(0);
for (int i = 0; i < packageInfoList.size(); i++) {
PackageInfo packageInfo = packageInfoList.get(i);
if(packageInfo.packageName.equals(packageName)){
String appName = packageInfo.applicationInfo.loadLabel(context.getPackageManager()).toString();
String appVersion = packageInfo.versionName;
int appVerCode = packageInfo.versionCode;
Drawable app_icon = packageInfo.applicationInfo.loadIcon(context.getPackageManager());
}
}
}
}
}
Mais au moment de la désinstallation de l'application, vous ne pouvez obtenir que le nom du paquet, car lors de la désinstallation, toutes les autres informations sont supprimées par le système.