我正在编写一个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