当前位置: 首页 > 知识库问答 >
问题:

Android-构建通知,TaskStackBuilder.add父母栈不工作

宦源
2023-03-14

我正在尝试像Android文档解释的那样从通知启动活动,但是当我打开通知然后按后退按钮时,Homeactive(父)不会打开,而是应用程序关闭。我做错了什么?

    Intent resultIntent = new Intent(context, MatchActivity.class);;
    resultIntent.setFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);

    TaskStackBuilder stackBuilder = TaskStackBuilder.create(context);

    // Adds the back stack for the Intent (but not the Intent itself)
    stackBuilder.addParentStack(MainActivity.class);

    stackBuilder.addNextIntent(resultIntent);

共有3个答案

夏景胜
2023-03-14
Intent resultIntent = new Intent(App.getContext(), TargetActivity.class);
Intent backIntent = new Intent(App.getContext(), ParentActivity.class);
backIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
final PendingIntent resultPendingIntent = PendingIntent.getActivities(
                                    App.getContext(), 0, 
               new Intent[]{backIntent, resultIntent}, PendingIntent.FLAG_ONE_SHOT);
mNotifyBuilder.setContentIntent(resultPendingIntent);

这解决了我点击通知时父堆栈的问题

孙承弼
2023-03-14

如果没有一个解决方案是有效的,并且你确信你已经仔细地遵循了每件事。。。然后你需要卸载应用并重新安装。为我工作!

何建中
2023-03-14

您需要为要启动的活动添加父堆栈,而不是它的父堆栈。

替换:

stackBuilder.addParentStack(MainActivity.class);

与:

stackBuilder.addParentStack( MatchActivity.class );

这假设您已经在清单(API 16)中定义了父项:

<activity android:name=".MatchActivity"
    android:parentActivityName=".MainActivity"
    ... />

如果您是在API 16下开发的,那么您必须将父级定义为:

<activity android:name=".MatchActivity">
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value=".MainActivity" />
</activity>
 类似资料:
  • 问题内容: 我正在尝试将Bootstrap包装到具有集成表单验证的组件中。 简短:假设我有 一旦pases验证,我怎么能通知(父节点)来添加一个类? 我在这里创建了一个简化的Codepen版本 我想根据验证状态,然后更改FieldGroup的状态,以便可以正确更改类名。(添加 等),并最终将类添加到Form组件。 问题答案: 您需要将a传递给子组件。我只是分叉了您的Codepen,并添加了以下代码

  • 我已经包括了android-support-v4。jar库使用“android:parentActivityName=”com。我的应用程序。实例它包含在“Android依赖项”和“引用库”中,但仍然不起作用- 错误:在包“android”中找不到属性“parentActivityName”的资源标识符 有什么建议吗?

  • 我是不是漏掉了什么?

  • 为什么Eclipse在构建一个Android项目时,会陷入构建工作区的无限循环...和(重新)构建工作区...和(重新)构建工作区... 这是已知的虫子吗? 走出这个循环的正确方法是什么? 备注: 如果取消选中,它会生成良好的版本,甚至导出一个完美运行的签名发行版APK。 此问题仅在我升级到最新的SDK r19后才开始。在此之前(SDK r11),我从未遇到过此问题。 错误160868正好描述了这

  • 我已经设置了接收通知的代码,但它不起作用: 我用它在我的主要活动,我尝试了它,因为电话是待机。我该怎么解决?它需要其他代码吗?我遵循了以下指南:http://www.dre.vanderbilt.edu/~schmidt/android/android-4.0/out/target/common/docs/doc-comment-check/guide/topics/ui/notifiers/no

  • 我一直在工作与以下要求的烤面包通知。 应用程序需要处理所有类型的激活类型(前台、后台、协议) 所以我创建了一个示例UWP应用程序。它为前景和背景工作。但当我用PowerShell创建祝酒词时。未激活通知。 感谢帮助!!!