Alarm Manager

AlarmManager یکی از ویژگی‌های مهم در اندروید است که به برنامه‌نویسان این امکان را می‌دهد تا عملیات‌های مختلف را در زمان‌های مشخص اجرا کنند، حتی اگر برنامه در حالت خواب (sleep) یا به پشت‌صفحه (background) رفته باشد. این موارد معمولاً برای اجرای وظایف تکراری، همچون ارسال اطلاعیه‌ها یا اجرای فعالیت‌های مدت زمانی طولانی مورد استفاده قرار می‌گیرند.

ایجاد Intent برای اجرای کد شما:

 ابتدا یک Intent برای اجرای کد مورد نظرتان بسازید.

Intent intent = new Intent(context, YourBroadcastReceiver.class);

یا اگر می‌خواهید یک خدمت (Service) را اجرا کنید:

Intent intent = new Intent(context, YourService.class);

ایجاد PendingIntent:

 برای اجرای کد مورد نظر، نیاز به یک PendingIntent دارید.

PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);

دریافت AlarmManager:

حالا نیاز به دریافت یک نمونه از AlarmManager دارید.

AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);

تنظیم زمان اجرا: 

مشخص کنید که کدام AlarmManager.RTC یا AlarmManager.ELAPSED_REALTIME را برای زمان اجرا استفاده می‌کنید. سپس زمان مورد نظرتان را مشخص کنید.

long triggerTime = System.currentTimeMillis() + yourDesiredTimeInMillis;
alarmManager.set(AlarmManager.RTC, triggerTime, pendingIntent);

یا اگر بخواهید با زمان‌های نسبی (به عنوان مثال برای یک فعالیت متداول) کار کنید:

long triggerTime = SystemClock.elapsedRealtime() + yourDesiredTimeInMillis;
alarmManager.set(AlarmManager.ELAPSED_REALTIME, triggerTime, pendingIntent);

توجه داشته باشید که این زمان‌ها بر حسب میلی‌ثانیه هستند. 

تعیین دوره تکرار: 

اگر می‌خواهید که عملیات شما تکرار شود، از setRepeating یا setInexactRepeating استفاده کنید.

long intervalMillis = yourDesiredIntervalInMillis;
alarmManager.setRepeating(AlarmManager.RTC, triggerTime, intervalMillis, pendingIntent);

لغو زمان‌بندی: 

اگر نیاز به لغو یک PendingIntent داشتید، می‌توانید از cancel استفاده کنید:

alarmManager.cancel(pendingIntent);

توجه داشته باشید که cancel تنها PendingIntent هایی را لغو می‌کند که با دقت زمانی (RTC) ساخته شده‌اند و از زمان‌های نسبی (ELAPSED_REALTIME) پشتیبانی نمی‌کند.

این توضیحات یک چارچوب کلی از استفاده از AlarmManager در اندروید ارائه می‌دهد.

مقالات مرتبط

نرم افزار مدیریت باسکول ( هوشمند )
نرم افزار مدیریت باسکول ( هوشمند )

سیستم مدیریت باسکول بارگو – هوشمندسازی توزین در کارخانه‌ها و معادن پشتیبانی از حالت آفلاین و آنلاین حتی در شرایط قطع اینترنت، سیستم بدون وقفه به کار خود ادامه داده و پس از برقراری ارتباط، اطلاعات را به‌طور کامل با سرور آنلاین همگام‌سازی می‌کند. قابلیت اتصال به انواع باسکول‌ها سازگاری کامل با باسکول‌های دیجیتال و آنالوگ، بدون نیاز به تغییرات سخت‌افزاری. تعاریف و تنظیمات پیشرفته امکان تعریف کالاها، مشتریان، رانندگان، وسایل نقلیه و اپراتورها با دسترسی‌های متفاوت. گزارش‌گیری دقیق و متنوع گزارشات وزنی روزانه، هفتگی و ماهانه گزارشات مالی و حسابداری گزارشات سفارشی بر اساس بازه زمانی و نوع کالا رابط کاربری ساده و کاربرپسند طراحی به گونه‌ای که اپراتور باسکول بتواند در کمترین زمان عملیات توزین را انجام دهد. هوش مصنوعی و پلاک‌خوان خودکار شناسایی لحظه‌ای پلاک خودرو هنگام ورود به باسکول ذخیره تصویر خودرو و پلاک در سیستم کاهش خطا و جلوگیری از ورود اطلاعات نادرست

3 ماه قبل نوشته شده

دیدگاهی برای این مطلب ثبت نشده است.