Cómo encontrar el nombre del paquete que se ha desinstalado al usar Intent.ACTION_PACKAGE_REMOVED

Tengo una aplicación que mantiene un registro de las aplicaciones desarrolladas internamente instaladas en el dispositivo. Tras la instalación, se invoca un receptor de difusión para Intent.PACKAGE_ADDED y registra el nombre del paquete con el siguiente código:

public class NewInstallReceiver extends BroadcastReceiver 
{
    @Override
    public void onReceive(Context context, Intent intent)
    {
        Bundle b = intent.getExtras();
        int uid = b.getInt(Intent.EXTRA_UID);
        String[] packages = context.getPackageManager().getPackagesForUid(uid);

        ApplicationService appService = new ApplicationService(context);
        appService.ApplicationInstalled(packages);
    }
}

El problema al que me enfrento es cuando uso un receptor de difusión para Intent.PACKAGE_REMOVED, toda referencia al paquete a través del Id. Único (UID) vuelve con información nula (como era de esperar, dado que ya se ha desinstalado). Mientras tanto, tengo una solución temporal, pero no es muy elegante, y para la próxima versión me gustaría tener un código más limpio. Un ejemplo de cómo debería funcionar el código:

public class RemoveApplicationReceiver extends BroadcastReceiver 
{
    @Override
    public void onReceive(Context context, Intent intent) 
    {
        Bundle b = intent.getExtras();
        int uid = b.getInt(Intent.EXTRA_UID);
        String[] packages = context.getPackageManager().getPackagesForUid(uid);

        ApplicationService appService = new ApplicationService(context);
        appService.ApplicationRemoved(packages);
    }

}

ara resumir, la pregunta es:

Cómo, después de eliminar un programa, ¿puedo hacer referencia al nombre del paquete en un receptor de difusión para Intent.PACKAGE_REMOVED.

Gracia

Respuestas a la pregunta(2)

Su respuesta a la pregunta