2013-02-01 14 views
12

I Android-Anwendung bin die Umsetzung für bekommen Alle Anwendungen und Ausführen von Anwendungen und ihre Größen, Nutzung und CPU-Auslastung.Wie Abrufen aller und Ausführen von Anwendungsgrößen, CPU-Auslastung programmgesteuert?

Aber ich bin nur die alle bekommen und Anwendungen Icon, Etikett und Packegename nicht in der Lage zu abrufen Größen, Nutzung und CPU-Auslastung läuft.

Ich habe eine Anwendung in GooglePlayStore gesehen, die AndroidSystem Info ist. In dieser App sind alle Systeminformationen angegeben.

Ich möchte diese Informationen programmgesteuert abrufen.

Kann jemand bitte helfen Sie mir Gesamtsysteminformationen

Dank im Voraus .................

Hier ist mein Code zu erhalten:

für immer alle Anwendungen:

ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); 
PackageManager pm = getPackageManager().getInstalledApplications(PackageManager.GET_META_DATA); 
ApplicationInfo entry = (ApplicationInfo) mListAppInfo.get(position); 
ImageView ivAppIcon = (ImageView) v.findViewById(R.id.ivIcon); 
TextView tvAppName = (TextView) v.findViewById(R.id.tvName); 
TextView tvPkgName = (TextView) v.findViewById(R.id.tvPack); 

// set data to display 
ivAppIcon.setImageDrawable(entry.loadIcon(mPackManager)); 
tvAppName.setText(entry.loadLabel(mPackManager)); 
tvPkgName.setText(entry.packageName); 

für das erhalten Ausführen von Anwendungen

ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); 
List<ActivityManager.RunningAppProcessInfo> runAppList = am.getRunningAppProcesses(); 
int listsize = runAppList.size(); 
Log.v("tag", "listsize..." + listsize); 

Antwort

1

können Sie dies mit IPackageStatsObserver.aidl Schnittstelle. Erstellen Sie das Paket android.content.pm in Ihrem App src-Verzeichnis und implementieren Sie unter Code Es wird alle Anwendungsgröße zurückgeben.

Method getPackageSizedInfo =pm.getClass().getMethod("getPackageSizeInfo",String.class,IPackageStatsObserver.class); 

getPackageSizedInfo.invoke(pm, pkgname,new IPackageStatsObserver.Stub() { 
@Override 
public void onGetStatsCompleted(PackageStats pStats, boolean succeeded)throws RemoteException {double size=(double)pStats.codeSize+pStats.cacheSize+pStats.dataSize;} 
}); 
+0

(Codegröße + datasize + cachesize) wird es zurückkehren totalAppSize oder nur (Codegröße + datasize) zurückkehren Gesamt App Größe – user3233280

+1

im erfolgreich Apps-Liste und die Speichergröße für jede App zu finden, aber wie kann ich die CPU-Auslastung finden jede App? – user3233280

Verwandte Themen