Eu tentei implementar mas não deu certo, o código ficou da seguinte forma. O Android Studio diz que não pode resolver o ResolverInfo e o mainIntet.
       Intent intent = new Intent(Intent.ACTION_MAIN, null);
        intent.addCategory(Intent.CATEGORY_LAUNCHER);
        Context context = null;
        List<ResolveInfo> list = context.getPackageManager().queryIntentActivities( intent, 0);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, list);
        ListView lista_apps = (ListView) findViewById(R.id.ListaApp);
        lista_apps.setAdapter(adapter);
O código que foi feito em aula e que gerava uma lista a partir de  strings é esse :
String[] alunos = {"Daniel", "Ronaldo", "Jefferson", "Felipe"};
        ListView lista_alunos = (ListView) findViewById(R.id.ListaAlunos);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1,alunos);
        lista_alunos.setAdapter(adapter);