1

バックグラウンド サービスは 10 分に制限されていますか、それとも何時間も実行できますか? バックグラウンド サービスの実行中にユーザーがシャットダウンできる方法はありますか?

4

2 に答える 2

2

コードによっては、バックグラウンド サービスを永久に実行したり、アプリが終了するとすぐに閉じたりすることができます。それとは別に、OS 自体が数分間アクションを実行しない場合、バックグラウンド サービスを閉じることができます。

于 2012-07-16T06:28:48.877 に答える
1

システムがサービスを実行できる理由は 2 つあります。誰かが Context.startService() を呼び出すと、システムはサービスを取得し (サービスを作成し、必要に応じて onCreate() メソッドを呼び出します)、クライアントから提供された引数を使用して onStartCommand(Intent, int, int) メソッドを呼び出します。この時点で、サービスは Context.stopService() または stopSelf() が呼び出されるまで実行を続けます。Context.startService() への複数の呼び出しは入れ子にならないことに注意してください (ただし、対応する onStartCommand() への複数の呼び出しが発生します)。そのため、サービスが何回開始されても、Context.stopService() または stopSelf の 1 回でサービスが停止されます。 () が呼び出されます。ただし、サービスは stopSelf(int) メソッドを使用して、開始されたインテントが処理されるまでサービスが停止されないようにすることができます。

このリンクを参照してください

http://developer.android.com/guide/components/services.html#ライフサイクル

于 2012-07-16T06:48:02.903 に答える