- Forum-Beiträge: 1.148
16.07.2011, 14:45:18 via Website
16.07.2011 14:45:18 via Website
ich versuche zurzeit alle installierten Anwendungen (ohne Systemapps) in einer ListView darzustellen.
Leider werden aber dennoch die Systemapps angezeigt, obwohl es auf "INCLUDE_SYSTEM_APPS = false" steht.
Hoffe ihr könnt mir helfen, was ich da falsch gemacht habe...
Ich bekomme die Apps über folgende Funktion:
2 List<App> apps = new ArrayList<App>();
3
4 // the package manager contains the information about all installed apps
5 PackageManager packageManager = getPackageManager();
6
7 List<PackageInfo> packs = packageManager.getInstalledPackages(0);
8
9 for (int i = 0; i < packs.size(); i++) {
10 PackageInfo p = packs.get(i);
11 // Überspringe System Apps, wenn false
12 if ((!includeSysApps) && (p.versionName == null)) {
13 continue;
14 }
15 App app = new App();
16 app.setTitle(p.applicationInfo.loadLabel(packageManager).toString());
17 app.setPackageName(p.packageName);
18 app.setVersionName(p.versionName);
19 app.setVersionCode(p.versionCode);
20 app.setInstallDir(p.applicationInfo.sourceDir);
21 app.setInstallSize(calculateSize(app.getInstallDir()));
22 CharSequence description = p.applicationInfo
23 .loadDescription(packageManager);
24 app.setDescription(description != null ? description.toString()
25 : "");
26 apps.add(app);
27 }
28 return apps;
29 }
In die Liste werden sie in der onCreate über folgendes Geschrieben:
2 private static final boolean INCLUDE_SYSTEM_APPS = false;
3
4 private ListView mAppsList;
5 private AppListAdapter mAdapter;
6 private List<App> mApps;
7
8 /** Called when the activity is first created. */
9 @Override
10 public void onCreate(Bundle savedInstanceState) {
11 super.onCreate(savedInstanceState);
12 setContentView(R.layout.applist);
13
14 mAppsList = (ListView) findViewById(R.id.app_list_view);
15 mAppsList.setOnItemClickListener(this);
16
17 mApps = loadInstalledApps(INCLUDE_SYSTEM_APPS);
18
19 mAdapter = new AppListAdapter(getApplicationContext());
20 mAdapter.setListItems(mApps);
21 mAppsList.setAdapter(mAdapter);
22 }
Gruß Alexander
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.