1

活動+サービスのクラスがあります。

プログラムが実行されるとアクティビティが表示されonCreate 、アクティビティのメソッドでサービスが開始されます。

仮想マシンのホーム ボタンをクリックすると、ホーム画面が表示されるがアクティビティがなくなっている

  1. この時点で、そのプログラムがどのような状況で一時停止/停止したのだろうか???
  2. サービスはどうしたの?(まだ走ってる?)
  3. サービスを使用してアクティビティを前面に出すにはどうすればよいですか?

ありがとうございました...

4

3 に答える 3

3

あなたの場合、ホームボタンを押すとアクティビティが一時停止します。ホームボタンを押して再度起動すると、再開します。

サービスの場合: サービスの開始方法によって異なります。

startService(intent) でサービスを開始すると、サービスは次の時点まで実行されます。

a) stopService を呼び出して明示的に停止します。

b)アンドロイドはそれを殺します

c) サービス内から selfStop を呼び出す

startService() を呼び出さずに bindService() でサービスを開始すると、サービスは次のようになります。

a)アクティビティが破棄されるまで実行します(一時停止しないため、ホームボタンを押しても実行し続けることを意味します)。これは、unbind()を呼び出す必要があることも意味します。

b)アンドロイドはそれを殺します

c) サービス内から selfStop を呼び出すまで

アクティビティをフォアグラウンドにするには、インテントを呼び出してフラグを設定する必要があります。履歴などから起動されたと思います....ドキュメントを確認する必要があります。

インテント.addFlag(インテント.FLAG_ACTIVITY_REORDER_TO_FRONT); <- 私は、またはこれだと思います -> FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY

于 2011-06-14T09:05:32.200 に答える
1

以下のアクティビティ フローを参照してください。

活動の流れ

于 2011-06-14T08:55:42.610 に答える
0

あなたのActivity(およびService) の状態は、他に何が起こっているかによって異なる場合があります。Android システムがリソースを必要とする場合、それらを取得するためにあなたのActivity(そしておそらくあなたの もService) を破壊した可能性があります。あなたは読んでおくべきです:

Activity図(Mark Ba​​kkerの回答でも)では、「他のアプリケーションにはメモリが必要です」というテキストを含むボックスに特に注意してください。

于 2011-06-14T09:03:00.547 に答える