问题描述
我想点击通知以打开我的应用并选择特定标签。如果应用程序尚未打开,这可以正常工作(感谢此答案: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 (将#修改为@)