Wie bekomme ich den Anwendungsnamen in Android?

Ich habe eine kleine Methode, um den installierten Anwendungsnamen in Android zu zeigen. Aber wenn ich "name" Attribut gibt es Aussehen Fehler Fehler. Und wenn ich "packageName" gebe, läuft die Methode perfekt und zeigt den Paketnamen in einer Liste an

private void getInstalledApps() { // TODO Auto-generated method stub PackageManager packageManager=this.getPackageManager(); List<ApplicationInfo applist=packageManager.getInstalledApplications(0); Iterator<ApplicationInfo> it=applist.iterator(); while(it.hasNext()){ ApplicationInfo pk=(ApplicationInfo)it.next(); String appname=pk.name.toString(); installedapplist.add(appname); } } 

In dem obigen Code, wenn ich String appname=pk.packageName.toString() es funktioniert gut, aber wenn ich String appname=pk.name.toString() geben String appname=pk.name.toString() das Programm warf einen Ausnahmefehler. Bitte helfen Sie mir, das Problem zu klären.

  • Setze statische IP und Gateway programmgesteuert in Android 6.x (Marshmallow)
  • Android Benutzerdefinierte URL zum Öffnen von App wie in iOS
  • Android-reguläre Ausdrücke - Rückkehr übereinstimmende Zeichenfolge
  • Prüfen Sie, ob die Geo-Location gefälscht wurde
  • Unmapping oder 'Release' ein MappedByteBuffer unter Android
  • Wie man eine app von adb zu löschen, ohne zu wissen, es ist Paketname
  • Android SparseArray mit String Schlüssel?
  • Halten Sie die Anwendung im Hintergrund laufen
  • Gibt es eine Möglichkeit, Funktionen in Android 2.1 / 2.2 verwenden, während eine MinSDK-Version auf 3?
  • Wie kann ich einen Klick auf eine bestimmte x, y-Koordinate testen?
  • Navigation Dracher Android API spezifisches Layout Attribut
  • ObjectAnimator im API Level <11
  • 2 Solutions collect form web for “Wie bekomme ich den Anwendungsnamen in Android?”

    Meine Vermutung ist, dass Ihr Code eine NullPointerException auslöst, weil das Namensfeld null ist. Auf jeden Fall, was Sie wahrscheinlich wollen, ist:

     String appname = packageManager.getApplicationLabel(pk).toString() 

    Mit diesem können Sie installierte App-Paketnamen und App-Namen erhalten

     List<PackageInfo> packageInfos=getPackageManager().getInstalledPackages(0); for (PackageInfo packageInfo:packageInfos) { Log.d(TAG,"packageName "+packageInfo.packageName); Log.d(TAG,"appname "+getPackageManager().getApplicationLabel(packageInfo.applicationInfo)); } 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.