Java 如何在列表中获取已安装的应用程序名称

Java 如何在列表中获取已安装的应用程序名称,java,android,Java,Android,我试过这个: final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null); mainIntent.addCategory(Intent.CATEGORY_LAUNCHER); final List pkgAppsList = context.getPackageManager().queryIntentActivities( mainIntent, 0); 此代码为我提供已安装应用程序的包名等列表,但我只希望应用程序名作为字符串

我试过这个:

final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
final List pkgAppsList = context.getPackageManager().queryIntentActivities( mainIntent, 0);

此代码为我提供已安装应用程序的包名等列表,但我只希望应用程序名作为字符串类型列表。我该怎么办?

您可以使用以下代码:::参考此


在上面的代码中,“结果”是已安装应用程序的数组列表

results由所有已安装的应用程序名称组成,如果有帮助,请接受答案。单击答案左侧的右复选框
public class AppList extends Activity {
  ....
  private ArrayList results = new ArrayList();
  @Override
  public void onCreate(Bundle savedInstanceState) {
    .....
    PackageManager pm = this.getPackageManager();
    Intent intent = new Intent(Intent.ACTION_MAIN, null);
    intent.addCategory(Intent.CATEGORY_LAUNCHER);
    List list = pm.queryIntentActivities(intent, PackageManager.PERMISSION_GRANTED);
    for (ResolveInfo rInfo : list) {
       results.add(rInfo.activityInfo.applicationInfo.loadLabel(pm).toString());
       Log.w("Installed Applications", rInfo.activityInfo.applicationInfo.loadLabel(pm).toString());
  } 
 }
}