5分ごとに位置データをチェックしています。これを 5 分ごとに呼び出されるサービスに実装しました。主なアクティビティには、アラームを開始/停止するための 2 つのボタンがあります。これは、ロックを実装するのに最適な場所ですか..
startService.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
// add a notification when the BG service is started..
Intent myIntent = new Intent(ContextActivity.this, MyAlarmService.class);
pendingIntent = PendingIntent.getService(ContextActivity.this, 0, myIntent, 0);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.SECOND, 10);
// alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 1000 * 60 * 5, pendingIntent);
Toast.makeText(ContextActivity.this, "Start Alarm", Toast.LENGTH_LONG).show();
System.out.println("Alarm started");
}
});
stopService.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
alarmManager.cancel(pendingIntent);
// Tell the user about what we did.
Toast.makeText(ContextActivity.this, "Cancel!", Toast.LENGTH_LONG).show();
System.out.println("Stop alarm");
}
});
スタートでロックを取得し、ストップでロックを解除してもよろしいでしょうか?