Android Service
を説明してください。 Activity
とどのように違いますか?前景/背景ので実行するなどのアプリケーションの状態に依存しますか。Androidサービス
答えて
をチェックアウト:
Aサービスは、ユーザーとの対話ではないながら、どちらか長いランニング動作を実行するために、アプリケーションの欲求を表現するアプリケーションコンポーネントです他のアプリケーションが使用するための機能を提供することができます。
その彼らのホスティングプロセスのメインスレッドで実行する他のアプリケーションのオブジェクトのようなサービスを、注意することが非常に重要です。これは、あなたのサービスがCPUを集中的に(例えばMP3再生)やブロックする(ネットワーキングのような)操作を行う場合、その作業を行う独自のスレッドを生成するはずであることを意味します。
これは最良のユーザが直接見て、と相互作用するものとして理解されている活性とは対照的である(UI)
サービス、上述したように、長い実行操作に使用することができますフォアグラウンドの活動がなくても続行しますが、Androidのライフサイクルによっては「バックグラウンド」の状態になると最終的に殺される可能性があります。サービスが強制終了されずに1つのインスタンスとして実行され続ける必要がある場合は、サービスのonCreate
メソッドにstartForeground(int id, Notification notification)を、サービスのonDestroy
メソッドにstopForeground(boolean removeNotification)を配置することをおすすめします。
例えば、アンドロイドデバイスがユーザーの身体の隣にあるときに、夜間に加速度計データを記録するためにforeground Service
を使用するアプリがあります。それがアクティブである必要はないが、私はまた、それがまたActivity
内部BroadcastReceiver
にエキストラとして加速度計データとIntent
を放送する必要があることをService
を告げるService
内BroadcastReceiver
からIntent
をブロードキャストActivity
を持っています。
コード: SleepActivity SleepAccelerometerService
幸運とあなたが任意のより多くの情報が必要な場合は私に知らせて!
サービスはアクティビティと似たコンテキストですが、GUIはありません。
重要:サービスは新しいスレッドで実行されません!
読むについてServiceともAndroid Developer's SDK reference for ServiceからHow to always run a service in the background?
- 1. Androidサービスの開発 - UDPサービス
- 2. Androidサービス、アクティビティ、ハンドラー
- 3. AndroidコールWCFサービス
- 4. Android:ウィジェットとサービス
- 5. サービスin android
- 6. Androidサービスとパッケージ
- 7. Android bluetoothサービス名
- 8. Androidサービスのライフサイクル
- 9. Androidサービスのロケーションコード?
- 10. AndroidクライアントWebサービス
- 11. Androidサービス、スレッド、UI
- 12. Android AlarmManagerサービス
- 13. MediaPlayerサービスAndroid
- 14. Androidサービスandroid.os.BinderProxyエラー
- 15. サービス - ジオコーダのAndroid
- 16. AndroidのfindViewByIdサービス
- 17. Androidアクセスアクティビティメソッド内部サービス
- 18. Android WSDL Webサービスksoap2
- 19. Androidの不滅サービス
- 20. AndroidとSOAP Webサービス
- 21. Androidデベロッパー - アラームマネージャー対サービス
- 22. サービス内のAndroid webview?
- 23. Androidの通知サービス
- 24. アスタリスク+ Android、通信サービス
- 25. java androidのWebサービス
- 26. foreGroundサービスのAndroid PendingIntent
- 27. Androidエミュレータ 'サービスなし'
- 28. AndroidサービスとUIスレッド
- 29. AndroidでのGPSサービス
- 30. Android NFC開始サービス
"SleepAccelerometerService"の2番目のリンクが壊れています。 – gonzobrains
電話がスリープ状態になってもサービスを実行するために、何らかのWakeLockを使用する必要がありますか? – gonzobrains
長時間実行されているすべてのCPUおよびCPUを多用する操作では、サービスがデフォルトで実行され、UIスレッドで実行されるため、新しいスレッドでサービスコードを実行したい場合があります。ほとんどのニーズにIntentServiceを使用できます。 HandlerThreadとThreadPoolExecutorはより柔軟ですが、より複雑な選択肢です。 –