1

我目前在我的应用程序中有两个活动。

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

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

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

这种方法几乎适用于所有设备,但特别是在一台设备(索尼 Xperia 设备 - 4.0.4)上的测试表明它并非在所有情况下都有效。

在 Sony Xperia 上onCreate,第二个 Activity 总是在用户输入时被调用,即使是从通知中也是如此。

我也尝试过使用 singleTopManifest没有成功。这是设备中的错误还是我做错了什么?也许缺少我需要的标志或类似的东西?

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

4

1 回答 1

0

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

只需尝试为此活动更新您AndroidManifestsingleInstance启动模式:

<activity
        android:name="com.your.package.YourActivity"
        android:launchMode="singleInstance"/>
于 2013-05-21T16:26:04.200 回答