0

需要一个在后台运行的服务,它会在 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));
    }               
};
}
4

1 回答 1

3

您可以根据AlarmManager需要使用 Class。创建一个将Service在特定计时器间隔(在您的情况下为 30-120 秒)唤醒的警报。onDestroy()唤醒时通过调用它的方法来销毁先前正在运行的服务。

于 2012-07-16T02:44:46.283 回答