آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
مشکل عدم دسترسی خریداران پیشین به برخی آموزش ها برطرف شد
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

مشکل کارنکردن آلارم منیجر در یک دقیقه اول شروع؟

محسن گودرزی  9 سال پیش  9 سال پیش
+1 0

دوستان سلام.

من تو برنامم دارم از یک آلارم منیجر استفاده می کنم که از set repeating استفاده می کنه.ولی بعد از استارت، حدود یک دقیقه تاخیر داره و بعد شروع میکنه به کار کردن؟(api +19)

کسی میتونه راهنماییم کنه که چطور میشه این تاخیر رو حل کرد؟ممنون

+2 0
طبق تغییراتی که دادن از این API به «بعد» متد set هشدارها رو ممکنه سر زمان تعیین شده اجرا نکنه (و یا بکنه) ، بجاش باید از متد setExact استفاده کنید (استفاده از AlarmManager و متد هاش خیلی ریزه کاری داره). (9 سال پیش)
0 0
من از نظر دوستمون Nosrati@ خبر ندارم ولی این اتفاق می افته که شما شاید دقیقه و ثانیه رو ست نکردی و شما انتظار داری که مثلا الارم ساعت 8:50 دقیقه شروع به کار کنه و الارم 859 ثانیه شروع به کار می کنه. (9 سال پیش)
0 0
ممنون از راهنماییتون. من میخوام هر چند ثانیه repeat بشه.ولی بعد از یک دقیقه شروع به کار می کنه.برای setRepeating هم میشه مثلsetExact عمل کرد؟ (9 سال پیش)
+1 0
اینایی که میگم برداشتم از مستندات اندروید هست، باز تو مستندات گفته اگر میخوایید آلارم های تکرار شونده حتما سر زمان تنظیم شده اجرا بشن از setExact استفاده کنید و هر بار این آلارم اجرا شد همونجا مورد بعدی رو هم تنظیم کنید - این رو هم گفتن که اگر targetSdkVersion برنامه از ۱۹ پایین تر باشه متد set و setRepeating بصورت دقیق عمل خواهند کرد. (9 سال پیش)
0 0
سلام خط مربوط به setRepeating داخل برنامه تان رو بذارید و متغیری هم اگر مربوط به دادن زمان می باشد رو هم مقدارش رو بذارید تا بهتر بتوانیم راهنمایی کنیم (9 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
محسن گودرزی  9 سال پیش
0 0

من ازین تکه کد آماده استفاده کردم!

Intent alarmIntent = new Intent(this, AlarmReceiver.class);                               
                pendingIntent = PendingIntent.getBroadcast(this, 0, alarmIntent, 0);
                manager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
                manager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 5000, pendingIntent);

بعد از یک دقیقه اول دقیقا هر 5ثانیه کار میکنه.ولی دقیقه اول نه. توی اینترنت هم که سرچ کردک گفته بودن که از ای.پی.ای19 به بعد این مشکل رو داره.حالا میگم راهی نیست بشه حلش کرد؟
            

پاسخ به سوال 
عزیزی  9 سال پیش
0 0

سلام

همین کد شما رو با این تفاوت که به جای اینکه از getBroadcast استفاده کنم از getActivity استفاده کردم و روی گوشی سامسونگ s4 درست جواب داد از alarmManager زیاد استفاده کردم ولی چنین مشکلی نداشتم

  final Intent alarmIntent = new Intent(this, AlarmReceiver.class);
final PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, alarmIntent, 0);
btnAlarm.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {

AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
manager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 5000, pendingIntent);
}
});

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .