我正在編寫一個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 2012-04-19 05:18:13
我知道這將是理想的,只是我有很多實施它的問題。如果你不介意分享你的代碼,那就太棒了。 – 2012-04-19 06:22:42
@ X-Man - 我已經更新了有關使用AlarmManager/BroadcaseReceiver組合的詳細信息。 – coderplus 2014-06-18 18:03:28