1. <span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;"></span></span><pre name="code" class="java">List<PackageInfo> packages = getPackageManager().getInstalledPackages(0);
  2. public PkgSizeObserver pkgsizeobserver = new PkgSizeObserver();
  3. try {
  4. Method method;
  5. method = this.getPackageManager().getClass().getMethod( "getPackageSizeInfo",
  6. new Class[] { String.class,
  7. IPackageStatsObserver.class });
  8. method.invoke(this.getPackageManager(), packageInfo.packageName, pkgsizeobserver);
  9. } catch (NoSuchMethodException e) {
  10. // TODO Auto-generated catch block
  11. e.printStackTrace();
  12. } catch (IllegalAccessException e) {
  13. // TODO Auto-generated catch block
  14. e.printStackTrace();
  15. } catch (IllegalArgumentException e) {
  16. // TODO Auto-generated catch block
  17. e.printStackTrace();
  18. } catch (InvocationTargetException e) {
  19. // TODO Auto-generated catch block
  20. e.printStackTrace();
  21. }
  22. synchronized (pkgsizeobserver) {
  23. try {
  24. pkgsizeobserver.wait();
  25. } catch (InterruptedException e) {
  26. e.printStackTrace();
  27. }
  28. }
  29. totalApp = pkgsizeobserver.cachesize + pkgsizeobserver.codesize
  30. + pkgsizeobserver.datasize;}
  1.  
  1. <span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;">
  2. </span></span>
  1. <span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;">
  2. </span></span>
  1. <span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;">PkgSizeObserver.class</span></span>
  1. <span style="font-size:18px;">//aidl文件形成的Bindler机制服务类
  2. public class PkgSizeObserver extends IPackageStatsObserver.Stub {
  3. public long cachesize = 0;
  4. public long datasize = 0;
  5. public long codesize = 0;
  6.  
  7. /***
  8. * 回调函数。
  9. *
  10. * @param pStatus
  11. * ,返回数据封装在PackageStats对象中
  12. * @param succeeded
  13. * 代表回调成功
  14. */
  15. @Override
  16. public void onGetStatsCompleted(PackageStats pStats, boolean succeeded)
  17. throws RemoteException {
  18. // TODO Auto-generated method stub
  19.  
  20. if(succeeded)
  21. {
  22. cachesize = pStats.cacheSize; // 缓存大小
  23. datasize = pStats.dataSize; // 数据大小
  24. codesize = pStats.codeSize; // 应用程序大小
  25. synchronized (this) {
  26. this.notifyAll();
  27. }
  28. }
  29. }
  30. }</span>

android获取系统应用大小的方法的更多相关文章

  1. Android获取系统时间的多种方法

    Android中获取系统时间有多种方法,可分为Java中Calendar类获取,java.util.date类实现,还有android中Time实现. 现总结如下: 方法一: ? 1 2 3 4 5 ...

  2. android获取设备屏幕大小的方法

    // 通过WindowManager获取 DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay( ...

  3. Android获取系统时间方法的总结

    Android获取系统时间方法的方法有很多种,常用的有Calendar.Date.currentTimeMills等方法. (1)Calendar Calendar获取系统时间首先要用Calendar ...

  4. Android 获取系统时间和网络时间

    有些时候我们的应用中只能使用网络时间,而不能使用系统的时间,这是为了避免用户关闭了使用网络时间的功能后所产生的误差. 直接上代码. 1.清单文件中网络添加权限. <!-- 访问Internet资 ...

  5. WPF 获取系统 DPI 的多种方法

    原文:WPF 获取系统 DPI 的多种方法 WPF 获取系统 DPI 的多种方法 由于 WPF 的尺寸单位和系统的 DPI 相关,我们有时需要获取 DPI 值来进行一些界面布局的调整,本文汇总了一些 ...

  6. Android默认系统声音/大小修改及配置【转】

    本文转载自:http://blog.csdn.net/a8316124/article/details/60574859 在做定制需求的时候,需要修改系统通知的声音,将其禁用掉,避免第三方应用发送通知 ...

  7. android 获取系统联系人 完全解析

    一.代码 1.ContactsEngine.java import java.util.ArrayList; import java.util.HashMap; import java.util.Li ...

  8. Android 获取系统的联系人

    本文主要介绍android中怎样获取系统的联系人数据 首先打开模拟器 点击联系人图标按钮 说明系统联系人数据库是空的,打开File explorer,找到data/data下面的文件夹: 将conta ...

  9. Android 获取系统或SDCARD剩余空间信息(转)

    android.os下的StatFs类主要用来获取文件系统的状态,能够获取sd卡的大小和剩余空间,获取系统内部空间也就是/system的大小和剩余空间等等.      看下读取sd卡的:Java代码 ...

随机推荐

  1. Perl读写文件&字符串操作

    Perl中读写文件的方法非常简单,可以使用open或sysopen函数来打开文件,linux下运行perl脚本只需 ./XX.pl 或 perl XX.pl. 读文件 open(文件句柄, " ...

  2. 1.3(SQL学习笔记)计算字段及函数

    一.计算字段 1.1拼接字段 一般情况下返回的字段是指定列的属性名.如果有时我们对返回格式有特殊要求. 例如,我们需要将显示商品名,即商品价格,同时商品名后面的价格放在括号内. prod_name(p ...

  3. Java如何判断线程池所有任务是否执行完毕

    import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class Tes ...

  4. ORACLE查询表最近更改数据的方法

    修改项目时,涉及到了Oracle中许多表的修改(包括:增加.删除字段,修改注释等).由于开始没有进行记录,造成在上测试机时,忘记了具体修改过哪些表了.后来在网上查找了一些资料,例如: 1.select ...

  5. C++迭代器之'反向迭代器'

    反向迭代器(Reverse Iterator)是普通迭代器的适配器,通过重新定义自增和自减操作,以达到按反序遍历元素的目的.如果在标准算法库中用反向迭代器来代替普通的迭代器,那么运行结果与正常情况下相 ...

  6. 使用maven命令搭建多模块企业级项目

    http://www.cnblogs.com/xdp-gacl/p/4242221.html

  7. 数据库建模软件ERStudio-表关系建模详解

    ERStudio是优秀的数据库建模软件,它不仅可以建立表.视图等模型,还可以建立多表间各种关系的模型,另外还可以根据模型生成表到数据库,下面具体讲解一下它的表关系建模. 1. 首先讲一下怎么建立表关系 ...

  8. springMVC配置静态资源访问的<mvc:resources>标签的使用

    在springmvc中,为了引用资源的访问不会类似Controller一样被拦截,区分出关注的资源的访问,一般我们在springMVC里面的拦截都会配置为"/",拦截所有的.但是这 ...

  9. r与java整合(转)

    http://jliblog.com/archives/10 R是统计计算的强大工具,而JAVA是做应用系统的主流语言,两者天然具有整合的需要.关于整合,一方面,R中可以创建JAVA对象调用JAVA方 ...

  10. Office 如何复印身份证正反面到一张纸上

    先把身份证任意一面放到打印机扫描的一侧(不要放到正中间)   正面扫描复印好之后,身份证翻面,还放在原来的位置   纸张拿出来之后,把已经有图案的放在上面,空白的留在下面,接着扫描   最后效果如下 ...