0

デバイスをPCに接続し、デバイスでEclipseを介してサービスを実行しました。ここで、電源オフと電源オンに対するサービスの動作を確認したいと思います。問題は、デバイスの電源をオフにすると、サービスが失われることです。電源をオフにしても、アプリケーションをデバイス上で永続的に保つことは可能ですか?

ありがとう。

4

2 に答える 2

1

デバイスの電源がオフになっていると、サービスは実行されません。電源が十分にないためです。ただし、デバイスに電力が供給されるとすぐにサービスを利用できるようにすることができます。メモリが不足しているときにサービスが強制終了されないように、サービスが効率的であることを確認してください。次に、放送受信機を使用してそこでキャッチします

<action android:name="android.intent.action.BOOT_COMPLETED"/>

意図。受信者から、サービスを開始するための送信とインテントを送信できます。このインテントをサービスのインテントフィルターで使用して、サービスを開始することもできます。部分的なウェイクロックを備えたPowerManagerを使用して、画面がオフのときにサービスを実行できるようにします-ただし、この機能はすべてのデバイスで機能するわけではありません-私が使用したすべてのデバイスのうち、この機能は半分で機能しますが、完全ではありません。

OSによってサービスが強制終了されないようにする場合は、サービスオブジェクトでstartForeground()API呼び出しを使用して、サービスをフォアグラウンドサービスとして実行します。

于 2012-04-18T13:29:49.840 に答える
0

代わりに、デバイスの起動時に送信されるブロードキャストを使用して再度開始します。詳細については、こちらこちらを参照してください。

于 2012-04-18T13:11:55.293 に答える