4

私は Android が初めてです。アクティビティ launchmode singleTop を作成する Android Developers Doc に従って、そのアクティビティはそのまま維持されます。しかし、それは私にとってはうまくいきません。カウントダウンタイマーがあるアクティビティがあります。私が望むのは、そのアクティビティをバックプレスに残して、カウントダウンタイマーがまだ実行されているはずのアクティビティに戻るときです。どうやってするの ?助けてください

4

2 に答える 2

0

あなたは少し誤解していると思います。

でアクティビティを起動しsingleTopても、アクティビティが「無傷」であるとは限りません。つまり、ターゲット タスクがそのスタックの一番上にアクティビティの既存のインスタンスを既に持っている場合、そのインスタンスは新しいインテントを受け取ります。つまり、新しいインスタンスが優先されます。作成されません。standard(これは、新しいインテントがあるたびに、そのインテントに応答するためにクラスの新しいインスタンスが作成されるモードでアクティビティを起動するのとは反対です。)

他の人が示唆したように、サービスにバインドして、そこからカウントダウン時間を更新できます。

于 2013-01-04T10:09:47.397 に答える
0

「サービスを作成すると、常にそのタイマーが実行され続けます。代わりに、アプリケーションが稼働しているときにのみ実行し続けたい」ということは、ユーザーが離れたところからタイマーを続行したいということです。
タイマー値を SharedPreferencesに保存onStop()し、同じものを取得してonRestart()から、最後に更新を続行します

于 2013-01-04T10:21:55.637 に答える