需要一个将在后台运行的服务,它将在30-120秒后唤醒并找到设备所在的位置,然后将该位置发送到数据中心并进入睡眠状态。再过30-120秒服务清醒并确定位置并进入睡眠状态。我可以手动启动和停止服务。但我需要启动(30到120秒之间)并自动停止服务。我不能保持服务,因为它会耗尽电池。
So,My question is how can i start and stop the service automatically?
感谢任何建议。
我的代码是
public class Service extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button start = (Button)findViewById(R.id.startButton);
Button stop = (Button)findViewById(R.id.stopButton);
start.setOnClickListener(startListener);
stop.setOnClickListener(stopListener);
}
private OnClickListener startListener = new OnClickListener() {
public void onClick(View v){
startService(new Intent(Service.this,SimpleService.class));
}
};
private OnClickListener stopListener = new OnClickListener() {
public void onClick(View v){
stopService(new Intent(Service.this,SimpleService.class));
}
};
}
答案 0 :(得分:3)
您可以根据您的要求使用AlarmManager
类。创建一个警报,唤醒特定计时器间隔Service
(在您的情况下为30-120秒)。唤醒时通过调用onDestroy()
方法来销毁以前运行的服务。