Android - onCreate()尽管使用SingleTop启动模式但仍然调用

时间:2013-05-21 16:18:31

标签: android android-intent android-activity

我目前在申请中有两项活动。

应用程序中的第二个活动会提示通知栏中显示通知图标。

第一个活动到第二个活动的意图使用意图中的FLAG_ACTIVITY_SINGLETOPFLAG_ACTIVITY_CLEAR_TOP标志。来自通知的PendingIntent中使用的意图也是如此。

我的目标是第二个活动只是一个活动,只创建一次,然后当用户通过主页按钮离开,然后通过通知返回活动时,正在运行的实例返回{{{ 1}}未被调用。

这种方法适用于几乎所有设备,但特别是在一台设备上进行测试(索尼Xperia设备 - 4.0.4)已经证明它并不适用于所有设备。

在Sony Xperia上,当用户输入第二个活动时,{@ 1}}始终会被调用,即使是通知也是如此。

我尝试在onCreate中使用singleTop也没有成功。这是设备中的错误还是我做错了什么?也许错过了我需要的旗帜或沿着那条线的东西?

如果有人想要更具体的代码或信息,请告诉我,我会发布。

1 个答案:

答案 0 :(得分:0)

首先,请注意,当您的应用程序处于后台运行状态时,Android会自动终止您的活动。因此,无法保证您的应用程序在后台运行时您的活动将保持活跃状态​​。 无论如何,在我的项目中,我最终使用singleInstance启动模式进行只有一个实例应该同时运行的活动。

尝试使用AndroidManifest针对此活动的singleInstance启动模式更新您的<activity android:name="com.your.package.YourActivity" android:launchMode="singleInstance"/>

{{1}}