私は携帯電話の現在位置を取得し、それにウェブサーバーを送るAndroidアプリを書いています。 私はスタートボタンを押して、アプリケーションが所定の間隔(例えば10分ごと)で場所を検索して送信し続け、別のボタンを押すとその場所を停止させたいと思っています。ここでボタンを押してから10分ごとにメソッドを繰り返し、別のボタンを押して終了するには
は私のボタンのコードです:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
startButton.setOnClickListener(new OnClickListener() {
@Override
//When the button is clicked
public void onClick(View v) {
finishButton.setEnabled(true);
startButton.setEnabled(false);
//Loops every 10mins
pingCurrentLocation();
}
});
finishButton.setOnClickListener(new OnClickListener() {
@Override
//When the button is clicked
public void onClick(View v) {
startButton.setEnabled(true);
finishButton.setEnabled(false);
pingCurrentLocation();
}
});
}
pingCurrentLocationは場所を取得し、それを送信する機能です。
私はAlarmManagerを使用するとおそらく私が望むことを達成できると知っていますが、私はそれを感知できませんでした。私の状況で動く明確なステップやテンプレートはありますか?
私はそれを得ることはありません、アラームマネージャーはそれを行う理想的な方法です....私はアラームマネージャーを使用してまったく同じことをやっています。サービスはメモリを使い果たしてしまい、特にスレッドは好きではないので、私はAlarmManagerを選択しました。ここで私のコードを共有したいですか? – drulabs
私は、それを実装する際に多くの問題を抱えていることが理想的であることを知っています。あなたのコードを共有しても大丈夫なら大丈夫です。 –
@ X-Man - AlarmManager/BroadcastReceiverの組み合わせの使用に関する詳細を更新しました。 – coderplus