嗨我目前正在使用AlarmManager。我写了下面给出的代码。根据代码,AlarmManager应该在10秒后触发,但是在我的代码中,警报管理器立即触发。请帮忙。立即触发报警管理器
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
int alarmType = AlarmManager.ELAPSED_REALTIME_WAKEUP;
long timeOrLengthofWait = 10000;
Intent intentToFire = new Intent(this, AlarmReciever.class);
PendingIntent alarmIntent = PendingIntent.getBroadcast(this, 0, intentToFire, 0);
alarmManager.set(alarmType, timeOrLengthofWait, alarmIntent);
}
}
而且我AlarmReciever类
public class AlarmReciever extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String phoneNumberReciever="5556";
String message="Alarm Triggered";
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumberReciever, null, message, null, null);
Toast.makeText(context," A message has been sent", Toast.LENGTH_LONG).show();
Log.d("Alarm ", "Alarm Has been triggered and sms send");
}
}
我的清单已经添加所需的权限。
非常感谢你的帮助和工作:) –
作为一个adition,documentarion说:“如果你指定的触发时间是过去,报警立即触发。”您在问题中提供的10000的时间戳肯定代表过去的日期。这是您的闹钟立即触发的原因。 更多信息请访问https://developer.android.com/training/scheduling/alarms.html#set – androidevil