incapabil să instanțizeze un pachet de pachete

Fac o aplicație care se bazează pe o clasă care utilizează un BroadCastReceiver, astfel încât să pot prinde atunci când o aplicație este instalată și dezinstalată. Intenția este primită foarte bine, iar codul onReceive execută așa cum ar trebui. Probabil, problema mea este că primesc un mesaj de eroare când încerc să instanți un nou pachet de pachete. Eroarea este: "Nu se poate instantiza tipul de PackageManager". Am încercat destul de mult toate variantele, dar nu pot să mă duc la lucru.

codul meu:

package com.my.package;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.util.Log;

public class PackageReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Uri datauri         = intent.getData(); 
        String uri          = datauri.toString();
        PackageManager pm   = new PackageManager();
        //pm.getApplicationInfo(uri);   //broken
        test(datauri);                  //works fine
    }//end method

    public void test(Uri uri){
        Log.d("test", "data: "+uri);
    }//end method
}// end class
0
De obicei, stacktrace-ul este mai multe linii, poți posta deasemenea full stacktrace, poate că există și alte informații semnificative în restul liniilor.
adăugat autor ilomambo, sursa
@ilomambo: mulțumesc pentru răspuns, de fapt nu m-am deranjat niciodată să rulez codul, pentru că nu ar fi funcționat. Am folosit soluția lui imran khan, asta funcționează :)
adăugat autor slinden77, sursa

1 răspunsuri

utilizare

PackageManager pm= context.getPackageManager(); 
List applicationInfos = pm.getInstalledApplications(0);
....

in loc de

PackageManager pm   = new PackageManager();
0
adăugat
mulțumiri, care mi-a rezolvat problema!
adăugat autor slinden77, sursa
Android dezvoltatori, România — Moldova
Android dezvoltatori, România — Moldova
27 participanți

Parteneri: ciupacabra.com, @php_ro, @js_ro, @node_ro iOS: @ro_ios Reguli: https://github.com/js-ro/it-telegram/blob/master/RULES.md