2

私のアプリの主な目的は、ボタンが押されたときです。

  1. センサーからデータを収集する
  2. データベースにデータを保存する
  3. 定期的に繰り返す (X 秒ごと)

バックグラウンドで実行したいのですが、Main Activityが破壊された場合、バックグラウンドは引き続き実行されます。したがって、アクティビティを削除しても、まだ実行中です。

私が今行っていることは、データの定期的な記録を設定AlarmManagerするために を使用することですが、Intent Serviceを破棄するたびにActivity、それらが関連しているため、アプリがクラッシュします。

バックグラウンド プロセスを実行するにはさまざまな方法があることは知っていますが、私のものには当てはまりません。

  • Service: MainThreadに依存するため、MainActivityが破壊されるとクラッシュする
  • Intent Service:今使っているものですが、AlarmManager関連のもの、MainActivity関連のものは破壊するとクラッシュします。
  • AsyncTask:これの問題は、バックグラウンドで1つのタスクを実行することになっていて、それが終了することですが、私が本当に望んでいるのは、ユーザーが停止するまで定期的に実行することです. ですから、それは一度きりの問題ではありません。

バックグラウンド サービスを利用する他の方法はありますか? 前に述べたもののいずれかを私の目的に使用できますか? どのようにすすめますか?

回答ありがとうございます。

4

1 に答える 1

1

android:process=":servicename"AndroidManifest.xmlを使用して、別のプロセスでサービスを開始してみてください。サービスが別のプロセスで実行されている場合、アクティビティで強制終了されることはありません。

于 2014-05-07T09:01:17.847 に答える