バックグラウンド
私は現在Androidアプリを書いていますが、よくわからないことに遭遇しました。
Intent
メインのスタートアップ インテント、ライブの GPS と加速度計のデータを表示するインテント、収集された GPS と加速度計のデータの概要を表示するインテントの3 つがあります。
私が抱えている問題は、向きを切り替えると、意図が再作成されて別の向きで表示されるため、コンストラクターが呼び出され、内部変数がリセットされるか、GPS/センサー API に再インスタンス化されて登録されonCreate
、多くの原因となりますonStart
。onResume
悪いデータの。
画面の向きをロックしたくありません。これは単なるハック修正であり、問題を適切に解決するための実際の修正ではないためです。
をオーバーロードしてサービスを作成しようとしましたIntentService
が、これは、Android がそのサービスをどのように操作するかを理解するのをやめる前に私が得た限りです。
最初の (悪い) 試行
public class GPSLoggingService extends IntentService {
public GPSLoggingService() {
super("GPSLoggingService");
}
@Override
protected void onHandleIntent(Intent wi) {
質問
タイミング、GPS、およびセンサーのログ記録をバックグラウンド サービスに移動し、そのサービスの API をインテントから使用してデータを表示し、データを残すことができるのと同じ方法で存在するクラスを持つにはどうすればよいでしょうか。方向の変化だけで、意図が隠され、前景に戻される可能性があります。
このサービスをアプリの起動時に自動的に実行し、アプリが閉じられるまで維持するにはどうすればよいですか。このサービス内で API を作成するにはどうすればよいですか? サービス内でメソッドを作成し、インテントから呼び出すだけですか? または、私が使用しなければならないメッセージングシステムはありますか?