android指定日期闹钟,如何在android中设置特定日期的闹钟?

嗨我需要使用时间选择器来设置特定日期的闹钟。当我给出静态输入时,闹钟设置不正确并响铃。 例如:我给静态输入(与日期,月份和年份),但它不振铃。这是我的代码。如何在android中设置特定日期的闹钟?

//button click

private OnClickListener reminderEventListener = new OnClickListener() {

@Override

public void onClick(View v) {

openTimePickerDialog(false);

}

private void openTimePickerDialog(boolean is24r) {

Calendar calendar = Calendar.getInstance();

calendar.set(Calendar.MONTH,1);//month

calendar.set(Calendar.YEAR,2015);//year

calendar.set(Calendar.DAY_OF_MONTH,12);//day

timePickerDialog = new TimePickerDialog(

EventDetail.this,

onTimeSetListener,

calendar.get(Calendar.HOUR_OF_DAY),

calendar.get(Calendar.MINUTE),

is24r);

timePickerDialog.setTitle(eventDates+" "+days+","+eventYear);

timePickerDialog.show();

}

OnTimeSetListener onTimeSetListener

= new OnTimeSetListener(){

@Override

public void onTimeSet(TimePicker view, int hourOfDay, int minute) {

Calendar calNow = Calendar.getInstance();

Calendar calSet = (Calendar) calNow.clone();

calSet.set(Calendar.MONTH,1);//month

calSet.set(Calendar.YEAR,2015);//year

calSet.set(Calendar.DAY_OF_MONTH,12);//day

calSet.set(Calendar.HOUR_OF_DAY, hourOfDay);

calSet.set(Calendar.MINUTE, minute);

calSet.set(Calendar.SECOND, 0);

calSet.set(Calendar.MILLISECOND, 0);

if(calSet.compareTo(calNow) <= 0){

//Today Set time passed, count to tomorrow

calSet.add(Calendar.DATE, 1);

}

setAlarm(calSet);

}

private void setAlarm(Calendar targetCal) {

// TODO Auto-generated method stub

Log.e("Give input", "12/01/2015");

Intent intent = new Intent(getBaseContext(), AlarmReceiver.class);

PendingIntent pendingIntent = PendingIntent.getBroadcast(getBaseContext(), 0, intent, 0);

AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);

alarmManager.set(AlarmManager.RTC_WAKEUP, targetCal.getTimeInMillis(), pendingIntent);

}};

};

AlarmReceiver:

public class AlarmReceiver extends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent) {

PendingIntent sender = PendingIntent.getBroadcast(context, 0, intent, 0);

NotificationManager manager = (NotificationManager)context.getSystemService(android.content.Context.NOTIFICATION_SERVICE);

Notification noti = new Notification(android.R.drawable.stat_notify_more, "Wake up alarm", System.currentTimeMillis());

noti.setLatestEventInfo(context, "My Alarm", "WAKE UP...!!!", sender);

noti.flags = Notification.FLAG_AUTO_CANCEL;

manager.notify(R.string.app_name, noti);

//intent to call the activity which shows on ringing

Intent myIntent = new Intent(context, EventDetail.class);

myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

context.startActivity(myIntent);

//display that alarm is ringing

Toast.makeText(context, "Alarm Ringing...!!!", Toast.LENGTH_LONG).show();

Log.e("Alarm ringing", "alarm ringing");

}

I set particular time and tested.alarm is not triggering.

I have given permission in manifest too.

2015-01-12

Shadow

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值