我目前在申请中有两项活动。
应用程序中的第二个活动会提示通知栏中显示通知图标。
第一个活动到第二个活动的意图使用意图中的FLAG_ACTIVITY_SINGLETOP
和FLAG_ACTIVITY_CLEAR_TOP
标志。来自通知的PendingIntent
中使用的意图也是如此。
我的目标是第二个活动只是一个活动,只创建一次,然后当用户通过主页按钮离开,然后通过通知返回活动时,正在运行的实例返回{{{ 1}}未被调用。
这种方法适用于几乎所有设备,但特别是在一台设备上进行测试(索尼Xperia设备 - 4.0.4)已经证明它并不适用于所有设备。
在Sony Xperia上,当用户输入第二个活动时,{@ 1}}始终会被调用,即使是通知也是如此。
我尝试在onCreate
中使用singleTop也没有成功。这是设备中的错误还是我做错了什么?也许错过了我需要的旗帜或沿着那条线的东西?
如果有人想要更具体的代码或信息,请告诉我,我会发布。
答案 0 :(得分:0)
首先,请注意,当您的应用程序处于后台运行状态时,Android会自动终止您的活动。因此,无法保证您的应用程序在后台运行时您的活动将保持活跃状态。
无论如何,在我的项目中,我最终使用singleInstance
启动模式进行只有一个实例应该同时运行的活动。
尝试使用AndroidManifest
针对此活动的singleInstance
启动模式更新您的<activity
android:name="com.your.package.YourActivity"
android:launchMode="singleInstance"/>
:
{{1}}