结论:
安装新APP时系统发出的广播:
09-15 06:11:12.838 18166 18166 D test1 : action = android.intent.action.PACKAGE_ADDED, packageName = package:com.estrongs.android.pop
替换APP时系统发出的广播:
09-15 06:09:15.329 18166 18166 D test1 : action = android.intent.action.PACKAGE_REMOVED, packageName = package:com.estrongs.android.pop
09-15 06:09:15.373 18166 18166 D test1 : action = android.intent.action.PACKAGE_ADDED, packageName = package:com.estrongs.android.pop
09-15 06:09:15.379 18166 18166 D test1 : action = android.intent.action.PACKAGE_REPLACED, packageName = package:com.estrongs.android.pop
删除APP时系统发出的广播:
09-15 06:13:03.424 18166 18166 D test1 : action = android.intent.action.PACKAGE_REMOVED, packageName = package:com.estrongs.android.pop
09-15 06:13:03.451 18166 18166 D test1 : action = android.intent.action.PACKAGE_FULLY_REMOVED, packageName = package:com.estrongs.android.
Pop
代码:
private void registerInstallAppBroadcastReceiver() {
IntentFilter intentFilter =new IntentFilter();
intentFilter.addAction(Intent.ACTION_PACKAGE_ADDED);
intentFilter.addAction(Intent.ACTION_PACKAGE_REPLACED);
intentFilter.addAction(Intent.ACTION_PACKAGE_REMOVED);
intentFilter.addAction(Intent.ACTION_PACKAGE_CHANGED);
intentFilter.addAction(Intent.ACTION_PACKAGE_DATA_CLEARED);
intentFilter.addAction(Intent.ACTION_PACKAGE_FIRST_LAUNCH);
intentFilter.addAction(Intent.ACTION_PACKAGE_FULLY_REMOVED);
intentFilter.addAction(Intent.ACTION_PACKAGE_NEEDS_VERIFICATION);
intentFilter.addAction(Intent.ACTION_PACKAGE_RESTARTED);
intentFilter.addAction(Intent.ACTION_PACKAGE_VERIFIED);
intentFilter.addAction(Intent.ACTION_PACKAGE_INSTALL);
intentFilter.addDataScheme("package");
registerReceiver(mInstallAppBroadcastReceiver, intentFilter);
}
private BroadcastReceiver mInstallAppBroadcastReceiver =new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String packageName = intent.getDataString();
Log.d("test1", "action = " + intent.getAction() + ", packageName = " + packageName);
}
};