【问题标题】:TaskStackBuilder addParentStack() method doesn't workTaskStackBuilder addParentStack() 方法不起作用
【发布时间】:2017-08-15 09:01:53
【问题描述】:

我需要这样的流程:当通知出现并且用户点击它时,activityB 应该启动,而不是如果用户点击后退按钮它应该转到 activityA,我的问题是,当用户点击通知并且 activityB 被启动时,堆栈是空的,如果用户单击后退按钮应用程序行为就像按下主页按钮并且在我单击启动器图标后,它会启动启动器活动,流程就像第一次启动一样。

还看到了谷歌的官方文档如何正确使用通知并保留活动以获得更好的导航体验,但没有帮助。

这是显示通知的代码

private fun sendNotification() {
    val mBuilder = NotificationCompat.Builder(this)
            .setContentTitle(name)
            .setContentText(messageBody)

        val resultIntent = Intent(this, activityB::class.java)
        val stackBuilder = TaskStackBuilder.create(this)
        stackBuilder.addParentStack(activityA::class.java)
        stackBuilder.addNextIntent(resultIntent)
        val resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT)
        mBuilder.setContentIntent(resultPendingIntent)
    mNotificationManager.notify(mId, mBuilder.build())
}

这里是清单文件

   <activity
        android:name=".activityB"
        android:parentActivityName="activityA" />

   <activity android:name="activityA"/>

我不明白,我错过了什么

【问题讨论】:

    标签: android kotlin android-notifications


    【解决方案1】:

    您必须从

    更改 ParentStack 的 Activity 文件
    stackBuilder.addParentStack(activityA::class.java)
    

    stackBuilder.addParentStack(activityB::class.java)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-28
      • 1970-01-01
      • 2016-05-25
      • 2016-01-07
      • 2016-01-11
      • 2015-01-09
      相关资源
      最近更新 更多