Witam Obecnie pracuję z programem AlarmManager. Napisałem kod podany poniżej. Zgodnie z kodem alarmManager powinien zostać wyzwolony po 10 sek., Ale tutaj w moim kodzie menedżer alarmów natychmiast się uruchamia. Proszę pomóż.Menedżer alarmów natychmiast uruchomiony
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);
}
}
And My AlarmReciever Klasa
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");
}
}
już dodany wymaganych uprawnień w manifeście.
Dziękuję bardzo, że pomogło i zadziałało :) –
Jako adiunkt, documentarion mówi: "Jeśli określony czas wyzwalania jest w przeszłości, alarm uruchamia się natychmiast." Znacznik czasu 10000 podany w pytaniu na pewno reprezentuje datę w przeszłości. To jest powód, dla którego alarm został natychmiast uruchomiony. Więcej informacji w https://developer.android.com/training/scheduling/alarms.html#set – androidevil