我不知道如何设置时间开始结束的时间。就像你在日历中设置的那样,你设置从开始到结束在java中的时间。有人可以帮我请求吗?
答案 0 :(得分:0)
使用Timer和TimerTask的组合:
TimerTask task = new TimerTask() {
@Override
public void run() {
// do stuff
}
};
Timer timer = new Timer();
timer.schedule(task, /*when*/);
请参阅schedule()
答案 1 :(得分:0)
您可以在Android中使用AlarmManager
来执行此类任务。请记住在Broadcast Receiver
中注册AndroidManifest.xml
,以便您可以正确使用下面提到的代码:
对于实际示例,下面提到的代码段将广播和特定于我的应用程序的意图。我将获取意图并启动后台服务,该服务执行我的应用程序特定功能。喜欢:
Intent intent = new Intent(this, ServiceStarter.class);
PendingIntent sender = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_ONE_SHOT);
long scheduledTime = System.currentTimeMillis() + AlarmManager.INTERVAL_FIFTEEN_MINUTES;
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, scheduledTime,
sender);
在我的ServiceStarter
里面,我会做这样的事情:
public class ServiceStarter extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent serviceIntent;
serviceIntent = new Intent(context, ActualService.class);
context.startService(serviceIntent);
}
}
为了关闭任务AlarmManager
代码的类似行只会在我们需要停止服务的ServiceStopper
中执行:
public class ServiceStopper extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent serviceIntent;
serviceIntent = new Intent(context, ActualService.class);
context.stopService(serviceIntent);
}
}
如果您还需要其他内容,请恢复。