Problemas con getInstalledPackages en el simulador / dispositivo Android 2.2

El código anterior no proporciona todos los paquetes instalados (por ejemplo, no proporciona el paquete desde el que se ejecuta este código). El código se ejecuta desde el hilo principal, nunca probé otras versiones de dispositivo / emulador además del dispositivo / emulador 2.2. Alguna idea de lo que está mal ?

Muchas Gracias

public Map<String, String> getInstalledPackages()
{
    Map<String, String> apps = new HashMap<String, String>();
    List<PackageInfo> appsInfo = pm.getInstalledPackages(0);

    for (PackageInfo appInfo: appsInfo)
    {
        try 
        {
            apps.put(appInfo.packageName, appInfo.versionName);

        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    return apps;
}

PD: si lo intento con pm.getInstalledPackages (PackageManager.GET_ACTIVITIES) devuelve un mapa vacío, probado en el dispositivo solo

preguntado el 16 de mayo de 11 a las 19:05

1 Respuestas

Si reemplazo

List<PackageInfo> appsInfo = pm.getInstalledPackages(0);

con

List<PackageInfo> appsInfo = getPackageManager().getInstalledPackages(PackageManager.GET_ACTIVITIES);

Recibo el paquete de mi aplicación.

contestado el 17 de mayo de 11 a las 00:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.