将在后台自动运行和停止的服务

时间:2012-07-16 02:38:06

标签: android service

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

1 个答案:

答案 0 :(得分:3)

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