2012-02-11 1 views
2

私の意図は、数分おきにAndroid携帯の動きを追跡して私のサーバーに送信するアプリケーションを作ることです。私はサービス、AlarmManagerとPartial_WakeLockでそれを行う方法について多くのオンラインを読んできました。私もgithub.comのコモンズウェアの例を見てきましたが、私はまだアンドロイドで経験していないので少し混乱しました。一定の時間間隔でAndroidアプリをスリープ状態にするにはどうすればよいですか?

私のアプリケーションを[場所を取得して自分のサーバーに送信する]に成功しました。数分おきに私のサービスを起床させるにはどうしたらいいのですか?どのような方法で私の[仕事]について言及し、どの方法で私はそれを呼んでいるのでしょうか?

答えて

7

ServiceAlarmManagerが必要です。あなたのサービスは、ポジションを取得してサーバーに送信し、AlarmManagerはあなたが決めた間隔でサービスを開始します。あなたはおおよそonCreateまたはあなたがしたい他の場所でこのようなあなたのServiceであなたのAlarmManagerを初期化する必要があります。サービスの使用方法のあなたのサービス

public class YourAlarmReceiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
      context.startService(new Intent(context, YourService.class)); 
    } 
} 

を開始

AlarmManager alarmMgr = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE); 
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, new Intent(this, YourAlarmReceiver.class),PendingIntent.FLAG_CANCEL_CURRENT); 

// Use inexact repeating which is easier on battery (system can phase events and not wake at exact times) 
alarmMgr.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, YOUR_ALARM_TRIGGER_AT_TIME,YOUR_ALARM_INTERVAL, pendingIntent); 

YourAlarmReceiverつもりアンドロイドウェブサイトhttp://developer.android.com/guide/topics/fundamentals/services.html

を参照してください。
+0

うまくいけば、これを試してここに投稿します。ありがとうございました。 – Sap

+0

私はそれを試して、目的はうまくいきました。今私が抱えている問題は、データポイントが非常に多くなっていることです。 * LocationManager *には、少なくとも10メートルの変位が見られる場合にのみ[作業]を行うようにお願いします。それでも、私は、変位が見えるまで同じ位置の2番目(ほぼ)のデータポイントを取得しています。これは* AlarmManager *のためにできますか? – Sap

+0

AlarmManagerを使用してLocationManagerを起動していますか?あなたがAlarmManagerに与えた間隔は、あなたが好きな時間帯に好きなサービスを呼び出すために使われます...問題を正確に理解できませんでしたか?あなたはあなたがあまりにも多くの更新をしていると言っています、間隔を増やすことができますか?もしthereseが変位の10メートルではない場合、結果を処分することができますが、 GPSの精度は十分ではありません。 –

0

sleep(x)が解決されたときにシステムが次のコード行を呼び出すスリープ(X)を伴う部分的なwakeLockを使用できますが、問題が発生する可能性があります。タスクを強制終了するか、システムをクラッシュさせるだけです。

+0

私もこれを試してみます。事は、無限のサイクルに入るかどうか気にしません。なぜなら、私は、言い換えれば、一緒のデータを必要とするからです。ありがとうございました。 – Sap

関連する問題