这是我的 onclick() 函数。这将设置目标警报
SA=(Button)findViewById(R.id.button1);
SA.setOnClickListener(new OnClickListener() {
@SuppressWarnings("弃用")
@覆盖
public void onClick(View v) {
showDialog(id);
}
});
}
@覆盖
受保护的对话框 onCreateDialog(int id1) {
开关(id1){
案例ID:
// 将时间选择器设置为当前时间
返回新的 TimePickerDialog(this,
timePickerListener, 小时, 分钟, 假);
}
返回空;
}
私人 TimePickerDialog.OnTimeSetListener timePickerListener =
新的 TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int selectedHour,
int selectedMinute) {
日历 calnow=Calendar.getInstance();
calnow.setTimeInMillis(System.currentTimeMillis());
calnow.set(Calendar.HOUR_OF_DAY,selectedHour);
calnow.set(Calendar.MINUTE,selectedMinute);
calnow.set(Calendar.SECOND, 0);
意图意图=新意图(getBaseContext(),alarm.class);
PendingIntent pendingintent= PendingIntent.getBroadcast(getBaseContext(),0, intent, 0);
AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, calnow.getTimeInMillis(),pendingintent);
Toast.makeText(getBaseContext(), "闹钟设置", Toast.LENGTH_SHORT).show();
}
};
公共无效onReceive(上下文arg0,意图arg1){
AlarmManager mgr = (AlarmManager)arg0.getSystemService(Context.ALARM_SERVICE);
Toast.makeText(arg0,"Alarm Started.....", Toast.LENGTH_LONG).show();
这里的问题是,一旦我在达到目标警报之前单击按钮设置警报,我就会同时获得“警报设置”和“警报启动”。
这里的问题是,TP 的值似乎是当前时间。如果您展示更多代码将会很有帮助。让我给你一个设置闹钟时间延迟5秒的例子。请尝试一下这个,它\xc2\xb4s是一种肮脏的方式,我只是想解释一下。这就是你所做的:
\n\n calnow.set(Calendar.HOUR_OF_DAY,TP.getCurrentHour());\n calnow.set(Calendar.MINUTE,TP.getCurrentMinute());\n alarmManager.set(AlarmManager.RTC_WAKEUP, calnow.getTimeInMillis(),pendingintent);\nRun Code Online (Sandbox Code Playgroud)\n\n要获得五秒的延迟,请将其更改为
\n\n alarmManager.set(AlarmManager.RTC_WAKEUP, calnow.getTimeInMillis()+5000,pendingintent);\nRun Code Online (Sandbox Code Playgroud)\n\n就像我说的,这只是为了显示您必须为alarmManager设置哪个值。它必须是您想要启动闹钟的时间(以毫秒为单位)。为此,您必须确保从您的 TP 中获得正确的值。因此,如果您希望我们帮助您,向我们展示完整的代码将是一个好方法
\n| 归档时间: |
|
| 查看次数: |
1870 次 |
| 最近记录: |