Wygląda na to, że możesz otrzymać zdarzenie dodania nowego pakietu po tym, że jest to bardzo prosta koncepcja, aby uzyskać wszystkie istotne informacje o tym pakiecie, tak jak jedna taka informacja to nazwa aplikacji, więc oto koncepcja
-> menedżer pakietów twojego urządzenia ma wszystkie informacje z nim związane, więc po prostu stwórz obiekt, który dostarczy ci wszystkie informacje związane z nazwą pakietu.
-> Powinieneś także pamiętać, że intencja daje ci "pakiet: real_package_name" więc najpierw musisz uzyskać prawdziwe imię przez rozlanie (użyłem) lub inną prostą implementację String
-> Oto kod, mam nadzieję, że dostaniesz to, czego chcesz. Podaję również informacje o tym, jak uzyskać nazwę aplikacji, ikonę aplikacji, wersję aplikacji, kod wersji aplikacji itp .....
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());
}
}
}
}
}
Ale w czasie odinstalowywania aplikacji można uzyskać tylko nazwę pakietu, tak jak podczas instalacji Un, wszystkie inne informacje są usuwane przez system.