Кажется, что вы можете получить событие о добавлении нового пакета, после чего это очень простая концепция, чтобы получить всю соответствующую информацию об этом пакете, например, одна такая информация - это имя приложения, так что вот концепция
-> в диспетчере пакетов вашего устройства есть вся информация, связанная с ним, поэтому просто создайте объект, который предоставит вам всю информацию, связанную с именем пакета.
-> Вы также должны помнить, что намерение дает вам "package: real_package_name", поэтому сначала вы должны получить настоящее имя, пролив (я использовал) или любую другую простую реализацию String
-> Вот код, надеюсь, вы получите то, что хотите. Я также даю информацию о том, как вы можете получить имя приложения, значок приложения, версию приложения, код версии приложения и т. Д.
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());
}
}
}
}
}
Но во время удаления приложения вы можете получить только имя пакета, так как при установке Un вся остальная информация удаляется системой.