点击通知会导致选项卡式活动选择特定选项卡,但仅当应用程序尚未打开时如何在应用处于活动状态时执行此操作?

问题描述

我想点击通知以打开我的应用并选择特定标签。如果应用程序尚未打开,这可以正常工作(感谢此答案:Intent to open a specific tab of tabbed activity) ...但如果应用程序已经打开,它什么也不做。我在 onResumeFragments 中调用了我的选项卡选择函数,但在这种情况下不会被调用。当应用程序已经打开时,我将在哪里/如何通过点击此通知调用我的选项卡选择功能

以下是我在 onResumeFragments 中获取预期选项卡的方法

public void selectIntendedTab() {
        if (getIntent().hasExtra(OPEN_TAB_KEY)) {
            Log.i("Key","Found!");
            tabs.getTabAt(getIntent().getIntExtra(OPEN_TAB_KEY,0)).select();
            getIntent().removeExtra(OPEN_TAB_KEY);
        }
    }

编辑:这是我制作通知代码。会不会和我的旗帜有关?

private void testNotification() {
        Intent activityIntent = new Intent(this,MainActivity.class);
        activityIntent.putExtra(OPEN_TAB_KEY,TOMORROW_TAB_INDEX);
        activityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
        PendingIntent contentIntent = PendingIntent.getActivity(this,activityIntent,0);

        Notification notification = new NotificationCompat.Builder(this,App.CHANNEL_PLAN_REMINDER_ID)
                .setSmallIcon(R.drawable.ic_baseline_event_note_24)
                .setContentTitle(getString(R.string.plan_reminder_notification_title))
                .setPriority(NotificationCompat.PRIORITY_DEFAULT)
                .setCategory(NotificationCompat.CATEGORY_REMINDER)
                .setColor(getColor(R.color.teal_700))
                .setContentIntent(contentIntent)
                .setAutoCancel(true)
                .build();

        notificationmanager.notify(1,notification);
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...