بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
مشکل ، آلارم منجر + سرویس
در یک دیالوگ اطلاعات مربوط به ساعت آلارم رو دریافت می کنم و با استفاده از کد زیر یک آلارم رو ست میکنم :
Intent intent2 = new Intent(G.currentActivity, AlarmService.class); pi = PendingIntent.getService(G.context, 0, intent2, PendingIntent.FLAG_UPDATE_CURRENT); Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR, 2015); calendar.set(Calendar.MONTH, 0); calendar.set(Calendar.DAY_OF_MONTH, 3); calendar.set(Calendar.HOUR, hour); calendar.set(Calendar.MINUTE, min); calendar.set(Calendar.SECOND, 0); G.alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pi);
به محض تایید دیالوگ متد oncreate , بعدش متد onStart سرویس فراخوانی میشن . در صورتی که باید صبر کنه تا آلارم منجر خبر بده که الان یک الارم داریم و بگه: سرویس اجرا بشو! نه اینکه به مجض ست شدن alarmManager سرویس هم اجرا بشه!!
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
miladint
11 سال پیش
+5
0
چون ممکنه دوستان دیگه هم نیازشون بشه کاملا توضیح میدم امیدوارم که مفید باشه
ببین Javac عزیز بنده این کارو کردم با تحقیقاتی که انجام دادم
داخل getalarmtime:
protected long getAlarmTime()
{
Calendar cad=Calendar.getInstance(); cad.set(Calendar.HOUR, 0); cad.set(Calendar.MINUTE, 0); cad.set(Calendar.SECOND, 0); cad.set(Calendar.AM_PM, Calendar.AM );
بعد اومدم آلارم ها رو ست کردم
private void setAlarm(long alarmTime,int id)
{
Alarms alarm =new Alarms(); alarm.setId(id); alarm.setRepeadEveryDay(true); alarm.setTime(alarmTime); alarm.setActive(true); alArms.add(alarm); addAlarmViewOnUi(alarm); createPendingIntent(alarmTime,id); libFile.setTotalAlarm(id); libFile.setAlarmRepeatEveryDay(id, true); libFile.setAlarmTime(id, alarmTime); libFile.setAlarmActive(id, true);
و سپس یه pendingintent
private void createPendingIntent(long activeAlarmTime, int id)
{
Intent intent = new Intent(this, AlarmReceiver.class);
intent.putExtra("ID_ALARM", id);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, id, intent, PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, activeAlarmTime, 24*60*60*1000, pendingIntent);
امیدوارم راهنمایی خوبی باشه ، نمونه های مختلفی رو امتحان کن من اینقدر کلنجار رفتم تا درست شد منم اولش کلا آلارم نمیزد اگه از شما همون موقع میزنه :)
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .