0

ユーザーが停止ボタンをクリックするまで継続的に実行する必要があるアプリケーションを作成しています。このサービスが行うことは、GPS を使用して現在の緯度と経度を取得し、サーバーにアップロードすることです。しかし、アプリケーションを長時間実行し続けると、サービスがデータのアップロードを停止します。ユーザーが停止ボタンを押すまでサービスを継続的に実行し続ける方法を教えてください。この問題の解決策を教えてください。

ありがとう。

4

2 に答える 2

0

私は同じ要件に取り組んできました。これが私が使用しているソリューションです。

クラス : AlarmManager&TimerTask

論理、

  1. GPS Co-Ordinates を定期的にサーバーにアップロードする TimerTask クラスを作成します。
  2. GPS と TimerTask を特定の間隔 (私の場合は 30 分) で停止および開始する AlarmManager クラスを作成します。

これは魅力のように機能します。

于 2012-07-21T10:09:45.400 に答える
0

サービスをSTICKYにすることに興味があります。

Android がメモリ不足になると、サービスを停止して動作を継続できるようにします。サービスにスティッキー フラグを設定すると、十分なリソースが利用可能になるとサービスが再作成されます。

次のようにサービスをスティッキーにします。

public class YourService extends Service {

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        // We want this service to continue running until it is explicitly
        // stopped, so return sticky.
        return START_STICKY;
    }
...
}
于 2012-07-21T10:01:16.673 に答える