1

現在、アプリケーションには 2 つのアクティビティがあります。

アプリケーションの 2 番目のアクティビティは、通知バーに通知アイコンを表示するように求めます。

最初のアクティビティから 2 番目のアクティビティへのインテントは、インテントでフラグFLAG_ACTIVITY_SINGLETOPFLAG_ACTIVITY_CLEAR_TOPフラグを使用します。PendingIntent通知で使用されるインテントについても同じことが言えます。

私の目的は、2 番目のアクティビティが単一のアクティビティであり、一度だけ作成された後、ユーザーがホーム ボタンを使用して終了し、通知を介してアクティビティに戻ると、実行されていたインスタンスが戻ってきてonCreate呼び出されないことです。

このアプローチはほとんどすべてのデバイスで機能しますが、特定の 1 つのデバイス (Sony Xperia デバイス - 4.0.4) でのテストでは、すべての場合に機能するとは限りません。

Sony Xperia ではonCreate、2 番目のアクティビティの は、通知からであっても、ユーザーが入力したときに常に呼び出されます。

私もsingleTopを使ってみましたがManifest成功しませんでした。これはデバイスのバグですか、それとも何か間違っていますか? おそらく、必要なフラグまたはそれらの行に沿った何かがありませんか?

より具体的なコードや情報が必要な場合は、お知らせください。投稿します。

4

1 に答える 1

0

まず第一に、アプリがバックグラウンドになっているときに Activity を強制終了するのは Android 次第であることに注意してください。そのため、アプリがバックグラウンドで実行されている間、アクティビティが存続するという保証はありません。いずれにせよ、私のプロジェクトsingleInstanceでは、同時に 1 つのインスタンスのみを実行するアクティビティに起動モードを使用することになります。

このアクティビティの起動モードを更新してみてくださいAndroidManifest:singleInstance

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