android系统监测应用的安装,升级,卸载,可以通过 intent.getDataString().substring(8); 如下边: public class PackageReceive extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); String packageName = intent.getDataString().substring(8); if (action.equals(Intent.ACTION_PACKAGE_ADDED)) { } else if (action.equals(Intent.ACTION_PACKAGE_REPLACED)) { } else if (action.equals(Intent.ACTION_PACKAGE_REMOVED)) { } } } 复制代码 这样再广播中就可以监听到发生变化的APP的包名了,其他信息可通过包名获取: /** * 通过应用包名获取已安装应用信息 * @param packagename 包名 * @param ctx 上下文 * 返回当前安装的应用信息 */ public void getAppInfoByPackageName(String packagename,Context ctx) { PackageInfo pI = null; try { pI = ctx.getPackageManager().getPackageInfo(packagename, 0); } catch (NameNotFoundException e) { e.printStackTrace(); } //获取软件名称 String appName = pI.applicationInfo.loadLabel(ctx.getPackageManager()).toString(); //获取软件图标 Drawable icon = pI.applicationInfo.loadIcon(ctx.getPackageManager()); //获取软件版本号 String versionName = String.valueOf(pI.versionName) //获取应用大小 long appSize = new File(pI.applicationInfo.publicSourceDir).length() / 1024; float lastSize = (float) (((int) (appSize / 1024.0 * 100)) / 100.0); if (appSize >= 1024) { //应用大小为 lastSize + "MB" } else { //应用大小为 appSize + "KB" } } } 复制代码 在此记录。