0

現時点では、Android のライフ サイクルに 100% 満足しているわけではありません。プロセス/スレッドを実行したいのですが、ハンドセットが常にオンになっていて、ユーザーがアプリをアクティブ化せずに実行するための正しい用語がわかりません。私が取り組んでいるゲームの一部について、ユーザーの大まかな位置を定期的にサーバーに送信し、サーバーからデータを取得したいと考えています。Androidでこれを行う正しい方法は何ですか?

4

2 に答える 2

3

Android Service を確認する必要があります。ここでは、このトピックに関する優れた紹介を見つけることができます。

また、ユーザーがヘッドセットをプラグイン/アウトしたことを検出するには、BroadcastReceiver. ここで は もう 話題です.

于 2013-03-03T22:44:21.533 に答える
1

このバックグラウンド プロセスが場所をアップロードするだけでなく、より多くの作業を行っている場合、@niculare の回答は確かに正しいです。

ただし、このバックグラウンド プロセスが行うのがこのアップロードだけである場合は、バッテリー効率の良い方法があります。システムから位置情報の更新を受信し、アップロードを行うBroadcastReceiverを作成できます。アップロードの前に小さな処理が必要な場合は、BroadcastReceiver からサービスを開始することもできます。その後、サービスはデータを処理し、アップロードを終了します。

OnBootまた、両方の状況で、ブロードキャストを受信し、モバイルが開始されたことを知り、それらを登録するために BroadcastReceiver が必要になる可能性があります。

小さな更新このリスナーを使用して位置情報を更新するには、このメソッドに 登録します

于 2013-03-03T22:54:10.243 に答える