Android 如何设置报警时间?
这段代码运行良好,但我想安排时间。我从web服务“特定时间”中获得了一个值。我必须在数组中为警报集消磨时间。但它不工作。只经过一次表示它工作正常。请给我解决方案。我想将它的数组值传递给alarm managerAndroid 如何设置报警时间?,android,Android,这段代码运行良好,但我想安排时间。我从web服务“特定时间”中获得了一个值。我必须在数组中为警报集消磨时间。但它不工作。只经过一次表示它工作正常。请给我解决方案。我想将它的数组值传递给alarm manager private void setAlarm(Calendar calSet) { int hours = calSet.get(Calendar.HOUR); int mnts = calSet.get(Calendar.MINUTE);
private void setAlarm(Calendar calSet) {
int hours = calSet.get(Calendar.HOUR);
int mnts = calSet.get(Calendar.MINUTE);
int ampm = calSet.get(Calendar.AM_PM);
String str = "AM";
if (ampm == 0) {
str = "AM";
} else {
str = "PM";
}
int i = 0;
String time = hours + " : " + mnts + " : " + str;
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent alarmIntent = new Intent(ALARM_ACTION_NAME);
// Set the Alarm ID as extra data to be displayed in the popup
alarmIntent.putExtra("AlarmID", m_alarmId);
alarmIntent.putExtra("AlarmTime", time);
// Create the corresponding PendingIntent object
PendingIntent alarmPI = PendingIntent.getBroadcast(MainActivity.this, m_alarmId,
alarmIntent, 0);
// Register the alarm with the alarm manager
alarmManager.set(AlarmManager.RTC_WAKEUP, calSet.getTimeInMillis(),
alarmPI);
}
AlarmServiceReceiverClass
public class AlarmServiceReceiver extends BroadcastReceiver {
// The alarm action defined in AndroidManifest.xml
private static final String ALARM_ACTION_NAME = "com.goodmor.broadcast.ALARM";
@Override
public void onReceive(Context context, Intent intent) {
// Toast.makeText(context , "Alarm received!",
// Toast.LENGTH_LONG).show();
// Handle the alarm broadcast
Log.i(this.toString(), "111111111111");
if (ALARM_ACTION_NAME.equals(intent.getAction())) {
// Launch the alarm popup dialog
Intent alarmIntent = new Intent("android.intent.action.MAIN");
alarmIntent.setClass(context, AndroidAlarmService.class);
alarmIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// Pass on the alarm ID as extra data
alarmIntent.putExtra("AlarmID", intent.getIntExtra("AlarmID", -1));
alarmIntent.putExtra("AlarmTime",
intent.getStringExtra("AlarmTime"));
// Start the popup activity
context.startActivity(alarmIntent);
}
}
}
如果要添加另一个报警,请更改m_alarmId;如果不更改m_alarmId,则会将以前的报警替换为新报警,以前的报警不会调用
PendingIntent alarmPI = PendingIntent.getBroadcast(MainActivity.this, **m_alarmId**,
alarmIntent, 0);
在这里,您将报警id传递给AlarmReceiver类,对吗?然后在AlarmReceiver类中传递此报警id,如果无法获取,请发布您的AlarmReceiver类
这里您将m_alarmId传递给AlarmReceiver类
alarmIntent.putExtra("AlarmID", m_alarmId);
m_alarmId值设置为零。当我被点击时,我是增量值++karthick。是的,它是否工作??你现在可以发布你的设置报警方法了吗?k但上面我提到了设置报警代码。请查看karthickno-karthik。如果我是静态值,但即使它不是工作字符串items=“0:18:PM”;请参见上面的代码,我提到了AlarmServiceReceiveClass
alarmIntent.putExtra("AlarmID", m_alarmId);