اضبط الوقت في مدير الإنذار Android - تم إطلاق المنبه على الفور [مكررة

StackOverflow https://stackoverflow.com/questions/4003892

سؤال

تكرار ممكن:
لماذا يطلق مدير إنذار Android الخاص بي على الفور؟

لدي هذا الرمز الذي سيتصل بالإخطار الإنذار

public static  Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(System.currentTimeMillis());
cal.add(Calendar.HOUR_OF_DAY,hour);
cal.add(Calendar.MINUTE, min);
Intent intent = new Intent(this,  OnetimeAlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, REQUEST_CODE, intent,0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis() , pendingIntent); 
Toast.makeText(this, "Alarm set", Toast.LENGTH_LONG).show();

ولكن يتم إطلاق المنبه على الفور ، فهو ينتظر بعد الساعة والدقائق المعطاة؟ هل يجب أن أضيف أي شيء إلى ملف البيان؟

هل كانت مفيدة؟

المحلول

يمكنك استخدام الوقت الحالي لتعيين المنبه. لذلك يطلق النار على الفور.

تحقق من واجهة برمجة التطبيقات. http://developer.android.com/Reference/android/app/alarmmanager.html#set٪28int ،٪20long ،٪20android.app.pendingint٪29

هناك تمر الوقت الذي يذهب فيه المنبه كمعلمة ثانية. في حالتك هذا هو الوقت الفعلي. لذلك يجب عليك إضافة مقدار الوقت الذي تريد الانتظار حتى وقت مرورك في هذه الطريقة الآن.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top