我正在尝试在Android应用程序中安排短信。正在发送短信,但不会“预定”。这是我的代码。
Intent myIntent = new Intent(ScheduleMessage.this, MyAlarmService.class);
Bundle bundle = new Bundle();
bundle.putCharSequence("Number", Number.getText().toString());
bundle.putCharSequence("Message", Message.getText().toString());
myIntent.putExtras(bundle);
pendingIntent = PendingIntent.getService(ScheduleMessage.this, 0, myIntent, 0);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.SECOND,20);
alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
Toast.makeText(getApplicationContext(), "Message: "+Message+" for Number: "+Number, 1).show();
我错过了一些明显的东西吗?没有力量关闭或任何错误。就是这样,文本消息立即发送,而不是30秒后发送(我稍后会考虑按小时,日等安排)。请帮我。我对Android很新。
答案 0 :(得分:1)
这取决于执行代码时的确切当前时间。 :)
你做的是接受CURRENT时间(例如 09:19:35 ),然后将seconds
部分设置为20(例如 09:19: 20 强> 的)。每分钟40秒,这是过去的一段时间,立即触发你的闹钟。
你打算写的是:
calendar.add(Calendar.SECOND,20);
请注意add
方法,其中您编写了set
。