Es scheint, dass Sie in der Lage sind, das Ereignis eines neuen Pakets zu erhalten, das danach hinzugefügt wurde. Es ist ein sehr einfaches Konzept, um alle relevanten Informationen über dieses Paket zu erhalten, so wie eine solche Information der Anwendungsname ist, also hier ist das Konzept
-> Ihr Gerätepaket-Manager verfügt über alle zugehörigen Informationen. Machen Sie einfach ein Objekt daraus, damit Sie alle Informationen zum Paketnamen erhalten.
-> Sie sollten sich auch daran erinnern, dass die Absicht Ihnen "package: real_package_name" gibt, sodass Sie zuerst einen echten Namen durch Verschütten (ich habe ihn verwendet) oder durch eine andere einfache Implementierung von String erhalten müssen
-> Hier ist der Code. Ich hoffe, Sie bekommen, was Sie wollen. Ich gebe auch Informationen darüber, wie Sie den App-Namen, das App-Symbol, die App-Version, den App-Versionscode usw. erhalten können.
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());
}
}
}
}
}
Zum Zeitpunkt der Deinstallation der Anwendung können Sie jedoch nur den Paketnamen abrufen, da bei der Deinstallation alle anderen Informationen vom System entfernt werden.