android系统监测应用的安装,升级,卸载,可以通过intent.getDataString().substring(8);
如下边:
  1. public class PackageReceive extends BroadcastReceiver {

  2. @Override
  3. public void onReceive(Context context, Intent intent) {
  4. String action = intent.getAction();

  5. String packageName = intent.getDataString().substring(8);
  6. if (action.equals(Intent.ACTION_PACKAGE_ADDED)) {

  7. } else if (action.equals(Intent.ACTION_PACKAGE_REPLACED)) {

  8. } else if (action.equals(Intent.ACTION_PACKAGE_REMOVED)) {

  9. }
  10. }
  11. }
复制代码 这样再广播中就可以监听到发生变化的APP的包名了,其他信息可通过包名获取:
  1. /**

  2. * 通过应用包名获取已安装应用信息

  3. * @param packagename 包名

  4. * @param ctx 上下文

  5. *返回当前安装的应用信息

  6. */

  7. public void getAppInfoByPackageName(String packagename,Context ctx) {

  8. PackageInfo pI = null;

  9. try {

  10. pI = ctx.getPackageManager().getPackageInfo(packagename, 0);

  11. } catch (NameNotFoundException e) {

  12. e.printStackTrace();

  13. }

  14. //获取软件名称

  15. String appName = pI.applicationInfo.loadLabel(ctx.getPackageManager()).toString();

  16. //获取软件图标

  17. Drawable icon = pI.applicationInfo.loadIcon(ctx.getPackageManager());

  18. //获取软件版本号

  19. String versionName = String.valueOf(pI.versionName)

  20. //获取应用大小

  21. long appSize = new File(pI.applicationInfo.publicSourceDir).length() / 1024;

  22. float lastSize = (float) (((int) (appSize / 1024.0 * 100)) / 100.0);

  23. if (appSize >= 1024) {

  24. //应用大小为lastSize + "MB"

  25. } else {

  26. //应用大小为 appSize + "KB"

  27. }

  28. }

  29. }
复制代码 在此记录。

更多相关文章

  1. android常用的代码片段
  2. android webview设置自适应任意大小的pc网页
  3. Android 定义全局LOG打印日志,并显示调用者相关信息
  4. android 获取屏幕大小
  5. Android Camera代码位置
  6. Android 获取设备信息 异常
  7. Android解析包名信息
  8. Android Studio设置类代码模板
  9. Android PopupWindow动画效果代码

随机推荐

  1. Android基于LLVM的Native层代码混淆
  2. android用户界面之TabHost教程实例汇总
  3. android 之 布局属性--RelativeLayout
  4. 2011.09.01(3)——— android service star
  5. Intent常用Uri,打开相应的应用
  6. Android应用程序创建桌面快捷方式
  7. Android(安卓)Activity——activity详细
  8. 从setContentView谈谈android的布局层级
  9. 安卓学习笔记-----我所不熟悉的TexetView
  10. Android应用程序组件Content Provider在