2013-02-01 2 views
12

Я реализую андроид приложение для получения Все приложения и Запуск приложений и их размеров, использование и CPU использование.Как получить все и использовать размеры приложений, использование процессора программно?

Но я только получить все и запуск приложений Icon, Этикетки и Packegename не в состоянии получить размеров, использование и процессор.

Я видел приложение в GooglePlayStore, которое AndroidSystem Info. В этом приложении представлена ​​вся информация о системе.

Я хочу получить эту информацию программно.

Может кто-нибудь, пожалуйста, помогите мне, чтобы получить общую информацию о системе

заранее спасибо .................

Вот мой код:

Для получения всех приложений:

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); 

Для Getting Запуск приложений

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

ответ

1

Вы можете сделать это, используя интерфейс IPackageStatsObserver.aidl. Создайте пакет android.content.pm в каталоге приложения src и выполните нижеприведенный код. Он вернет все размеры использования.

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

(codeSize + DataSize + CACHESIZE) он будет возвращать totalAppSize или только (codeSize + DataSize) возвращает общее App Размер – user3233280

+1

IM успешно найти список приложений и ее размер памяти для каждого приложения, но как я могу найти использование центрального процессора для каждое приложение? – user3233280

Смежные вопросы