Если вы являетесь разработчиком / партнером OEM-производителей Android, вы можете использовать IActivityController.Stub, чтобы получить то, что вам нужно.Затем вы можете использовать ActivityManagerNative, как показано ниже, чтобы начать получать события.
ActivityManagerNative.getDefault().setActivityController(activityController);
Вам необходимо где-то сохранить свои настройки белого / черного списка и сравнить их с пакетом из обратного вызова IActivityController.Stub.Например,
public boolean activityStarting(Intent intent, String pkg) {
Slog.d(AdbLogTag.TAG, "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
Slog.i(AdbLogTag.TAG, String.format("Application starting {intent=%s}, pkg=%s", intent, pkg));
Slog.d(AdbLogTag.TAG, "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
Надеюсь, это поможет.