Xin chào, tôi hiện đang làm việc với AlarmManager. Tôi đã viết một mã được đưa ra dưới đây. Theo mã, AlarmManager sẽ được kích hoạt sau 10 Sec, nhưng ở đây trong mã của tôi, trình quản lý cảnh báo sẽ kích hoạt ngay lập tức. Hãy giúp tôi.Trình quản lý báo động được kích hoạt ngay lập tức
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);
}
}
Và AlarmReciever Lớp tôi
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");
}
}
tôi đã thêm quyền yêu cầu trong biểu hiện.
Cảm ơn bạn rất nhiều nó đã giúp và làm việc :) –
Là một adition, documentarion nói: "Nếu thời gian kích hoạt bạn chỉ định trong quá khứ, báo động sẽ kích hoạt ngay lập tức." Dấu thời gian 10000 bạn cung cấp trong câu hỏi chắc chắn đại diện cho một ngày trong quá khứ. Đây là lý do báo thức của bạn kích hoạt ngay lập tức. Thông tin khác trong https://developer.android.com/training/scheduling/alarms.html#set – androidevil