我有一个将launchMode设置为singleTask的活动:
<activity
android:name="com.blah.blah.MyActivity"
android:launchMode="singleTask">
</activity>
我有一个持续的通知,其中包含启动该活动的PendingIntent:
Intent activityIntent = new Intent( this,
MyActivity.class );
TaskStackBuilder stackBuilder = TaskStackBuilder.create( this );
stackBuilder.addParentStack( MyActivity.class );
stackBuilder.addNextIntent( activityIntent );
PendingIntent resultingActivityPendingIntent = stackBuilder.getPendingIntent( REQUEST_CODE,
PendingIntent.FLAG_UPDATE_CURRENT );
...
m_notificationBuilder.setContentIntent( resultingActivityPendingIntent );
startForeground( ONGOING_NOTIFICATION_ID,
m_notificationBuilder.build() );
当我与现有的MyActivity交互时,我点击Home并通过启动器重新启动MyActivity,MyActivity的onNewIntent()
按预期调用。
问题是,当我与现有的MyActivity交互时,我点击正在进行的通知,通过onCreate()
创建一个新的MyActivity,通过onDestroy()
销毁现有的MyActivity。我希望MyActivity的onNewIntent()
会被调用。为什么不发生这种事?
我尝试过这些答案都没有成功:
您的问题是由于使用了TaskStackBuilder
。此代码导致了您的问题:
Intent activityIntent = new Intent( this,
MyActivity.class );
TaskStackBuilder stackBuilder = TaskStackBuilder.create( this );
stackBuilder.addParentStack( MyActivity.class );
stackBuilder.addNextIntent( activityIntent );
PendingIntent resultingActivityPendingIntent =
stackBuilder.getPendingIntent(REQUEST_CODE,
PendingIntent.FLAG_UPDATE_CURRENT );
当您以这种方式使用TaskStackBuilder
时,它会在生成的Intent
中设置额外的标志,这些标志会导致在您的活动启动之前重置任务(任务中的所有活动都被销毁)。
而是使用:
Intent activityIntent = new Intent( this,
MyActivity.class );
PendingIntent resultingActivityPendingIntent =
PendingIntent.getActivity(this, REQUEST_CODE,
activityIntent, PendingIntent.FLAG_UPDATE_CURRENT );
问题内容: 在纯Java SE 6环境中: Eclipse控制台中未显示任何内容。 l.info(“”) 及以上的作品就好了,但低于任何 罚款 只是似乎没有工作。有什么问题吗?TIA。 问题答案: 即使Logger级别设置为ALL,ConsoleHandler(记录器上的默认Handler)仍然具有INFO的默认级别。这来自 JAVA_HOME / jre / lib中 的默认logging.pr
我试图创建一个,它会发出关于反压力的事件,以避免内存问题,同时并行运行转换的每个阶段以提高效率。我创建了一个简单的测试程序,来解释我的程序的不同步骤的行为,以及何时发出事件,何时等待不同的阶段。 我的程序如下: 当我运行这个程序时,我得到了与预期背压相关的输出,其中一批事件被发送到
我对ChartJS还不熟悉,但这让我感觉好像遇到了一个bug。我在下面编写了JSFIDLE作为示例来演示这个问题。 https://jsfiddle.net/4mxvb3yg/ 超文本标记语言 Javascript 目前,小提琴的表现与我所希望的一样(没有图例的条形图,因为其显示属性设置为false)。但是,如果您取消注释HTML中的顶行以使用CDN链接作为源,它将不再尊重已禁用的图例。 我目前正
我编写了一个组件,它使用BoxLayout对一些JLabels进行水平布局,然后使用glue(我希望JLabels的宽度保持不变)。例如: 我需要为每个JLabel添加两行文本,所以我使用了一点HTML。当我添加HTML时,BoxLayout就不再尊重胶水了。我得到的是: 我可以通过指定最大大小应该等于首选大小(指定首选大小没有影响)来绕过这个问题。这是正确的做法吗?当我的JLabels中有HTM
环境: Eclipse Juno Junit 4.11 maven 3.0.4 问题: 我相信在Eclipse的junit运行器中运行单元测试时遇到了类加载问题。我的具体问题源于这段代码: 上面的代码最终将使用一个类的名称调用,该类位于maven依赖项中(依赖项只是一个java bean的集合)。当我运行mvn测试时,这段代码成功运行,但是,如果我使用eclipse运行junit测试,我会收到一个
我不知道为什么背压在这个流动链中没有得到尊重。 我将其简化为以下三个阶段:,和。前两个阶段的速度比最后一个阶段快得多,因此它们的输出会让内存等待第3步,从而导致内存不足错误/内存使用量不断增加。 当我观看调试器时,我注意到步骤1比步骤3更频繁地发生,尽管我已经将缓冲区大小(observeOn的第三个参数)设置为一个较低的数字(例如1)。 我已经阅读了我正在使用的每个运算符的留档,看起来他们都有一些