在不单击推送通知的项目的情况下开始活动

时间:2019-05-14 14:23:17

标签: android

以下代码段:

Intent notificationIntent = new Intent(context, MainFragmentActivity_.class);
        notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, notificationIntent,
                                 PendingIntent.FLAG_UPDATE_CURRENT);

MainFragmentActivity

@Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
boolean isSyncAction = intent.getBooleanExtra(NotificationsSyncModule.SYNC_ACTION, false);
}

因此,当我单击推送通知的项目时,活动MainFragmentActivity已开始。 很好。

但是现在我要没有,在到达推送通知时单击推送通知自动启动活动。 我该怎么做?

2 个答案:

答案 0 :(得分:2)

我相信您应该能够做到

context.startActivity(...)

使用您的Service / IntentService(无论正在处理您的推送通知)。

希望这会有所帮助!

还请注意,应用程序在推送通知中随机“跳出”可能会导致UX不太出色-当然,这完全取决于您的用例。我也相信,从Android Q开始,这将是不可能的。

答案 1 :(得分:1)

您只是在建立通知后就开始活动

Intent Intent = new Intent(context, MainFragmentActivity_.class);
Activity activity = (Activity) context;
activity.startActivity(intent)