Android 代码监控apk安装,卸载,替换

public class GetBroadcast extends BroadcastReceiver {
	private static GetBroadcast mReceiver = new GetBroadcast();
	private static IntentFilter mIntentFilter;

	public static void registerReceiver(Context context) {
		mIntentFilter = new IntentFilter();
		mIntentFilter.addDataScheme("package");
		mIntentFilter.addAction(Intent.ACTION_PACKAGE_ADDED);
		mIntentFilter.addAction(Intent.ACTION_PACKAGE_REMOVED);
		mIntentFilter.addAction(Intent.ACTION_PACKAGE_REPLACED);
		context.registerReceiver(mReceiver, mIntentFilter);
	}

	public static void unregisterReceiver(Context context) {
		context.unregisterReceiver(mReceiver);
	}

	@Override
	public void onReceive(Context context, Intent intent) {
		String action = intent.getAction();
		if (Intent.ACTION_PACKAGE_ADDED.equals(action)) {
			Toast.makeText(context, "有应用被添加", Toast.LENGTH_LONG).show();
		} else if (Intent.ACTION_PACKAGE_REMOVED.equals(action)) {
			Toast.makeText(context, "有应用被删除", Toast.LENGTH_LONG).show();
		}
		/*
		 * else if(Intent.ACTION_PACKAGE_CHANGED.equals(action)){
		 * Toast.makeText(context, "有应用被改变", Toast.LENGTH_LONG).show(); }
		 */
		else if (Intent.ACTION_PACKAGE_REPLACED.equals(action)) {
			Toast.makeText(context, "有应用被替换", Toast.LENGTH_LONG).show();
		}
		/*
		 * else if(Intent.ACTION_PACKAGE_RESTARTED.equals(action)){
		 * Toast.makeText(context, "有应用被重启", Toast.LENGTH_LONG).show(); }
		 */
		/*
		 * else if(Intent.ACTION_PACKAGE_INSTALL.equals(action)){
		 * Toast.makeText(context, "有应用被安装", Toast.LENGTH_LONG).show(); }
		 */
	}
}

你可能感兴趣的:(android)