Android 在选定的时间和日期设置报警
我正在Android 2.1上开发taskmanager。我想为一个任务设置报警,该任务由date from datepicker和time from time picker帮助我设置代码Android 在选定的时间和日期设置报警,android,android-alarms,Android,Android Alarms,我正在Android 2.1上开发taskmanager。我想为一个任务设置报警,该任务由date from datepicker和time from time picker帮助我设置代码 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final EditText next = (Edi
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final EditText next = (EditText) findViewById(R.id.editText1);
final Button sub = (Button) findViewById(R.id.button1);
final Button res = (Button) findViewById(R.id.button2);
final DatePicker dp = (DatePicker) findViewById(R.id.datePicker1);
final TimePicker tp = (TimePicker) findViewById(R.id.timePicker1);
sub.setOnClickListener(new View.OnClickListener() {
public void onClick(final View view) {
int y=dp.getYear();
int mo=dp.getMonth();
int day=dp.getDayOfMonth();
Time t = new Time();
int h=t.getCurrentHour();
int m=t.getCurrentMinutes();
}
private AlarmManager getSystemService(String alarmService) {
// TODO Auto-generated method stub
return null;
}
});
Android不为您播放alarm,alarm Manager允许您安排应用程序在将来某个时间运行。 因此,只需在AlarmManager中添加时间和挂起的意图,并在调用此意图时播放音乐
访问:这是设置警报的方法
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
//when does this go off?
Long mHowLongFromNowInMilliseconds = 10000 //(10 seconds from now)
calendar.add(Calendar.MILLISECOND, mHowLongFromNowInMilliseconds);
alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
日历不是必需的。。。但这可能会有所帮助;)
!!!请记住:当设备完全断电时,警报将被取消
嘿,这是如何将android AlarmManager上的报警设置为特定日期的 (安卓alarmmanager设置报警开启日期) 我一直在到处找这个。 注意这个月的价值
Calendar cal = Calendar.getInstance(TimeZone.getDefault(), Locale.getDefault());
//cal.add(Calendar.SECOND, 10);
cal.set(Calendar.DATE,19); //1-31
cal.set(Calendar.MONTH,Calendar.DECEMBER); //first month is 0!!! January is zero!!!
cal.set(Calendar.YEAR,2012);//year...
cal.set(Calendar.HOUR_OF_DAY, 16); //HOUR
cal.set(Calendar.MINUTE, 39); //MIN
cal.set(Calendar.SECOND, 10); //SEC
// Create a new PendingIntent and add it to the AlarmManager
Intent intent = new Intent(MainActivity.this, alarmAct.class);
PendingIntent pendingIntent = PendingIntent.getService(MainActivity.this, 0,intent, 0);
//or if you start an Activity
//PendingIntent pendingIntent = PendingIntent.getActivity(MainActivity.this, 0,intent, 0);
AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent);
但是我想从时间选择器和日期窗体日期选择器设置时间,然后您需要将日历设置为该日期和时间。
public class AlarmService extends Activity {
private PendingIntent mAlarmSender;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Create an IntentSender that will launch our service, to be scheduled
// with the alarm manager.
mAlarmSender = PendingIntent.getService(AlarmService.this,
0, new Intent(AlarmService.this, AlarmService_Service.class), 0);
setContentView(R.layout.alarm_service);
// Watch for button clicks.
Button button = (Button)findViewById(R.id.start_alarm);
button.setOnClickListener(mStartAlarmListener);
button = (Button)findViewById(R.id.stop_alarm);
button.setOnClickListener(mStopAlarmListener);
}
private OnClickListener mStartAlarmListener = new OnClickListener() {
public void onClick(View v) {
// We want the alarm to go off 30 seconds from now.
long firstTime = SystemClock.elapsedRealtime();
// Schedule the alarm!
AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
firstTime, 30*1000, mAlarmSender);
// Tell the user about what we did.
Toast.makeText(AlarmService.this, R.string.repeating_scheduled,
Toast.LENGTH_LONG).show();
}
};
private OnClickListener mStopAlarmListener = new OnClickListener() {
public void onClick(View v) {
// And cancel the alarm.
AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
am.cancel(mAlarmSender);
// Tell the user about what we did.
Toast.makeText(AlarmService.this, R.string.repeating_unscheduled,
Toast.LENGTH_LONG).show();
}
};
}
Calendar cal = Calendar.getInstance(TimeZone.getDefault(), Locale.getDefault());
//cal.add(Calendar.SECOND, 10);
cal.set(Calendar.DATE,19); //1-31
cal.set(Calendar.MONTH,Calendar.DECEMBER); //first month is 0!!! January is zero!!!
cal.set(Calendar.YEAR,2012);//year...
cal.set(Calendar.HOUR_OF_DAY, 16); //HOUR
cal.set(Calendar.MINUTE, 39); //MIN
cal.set(Calendar.SECOND, 10); //SEC
// Create a new PendingIntent and add it to the AlarmManager
Intent intent = new Intent(MainActivity.this, alarmAct.class);
PendingIntent pendingIntent = PendingIntent.getService(MainActivity.this, 0,intent, 0);
//or if you start an Activity
//PendingIntent pendingIntent = PendingIntent.getActivity(MainActivity.this, 0,intent, 0);
AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent);