بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
چک کردن سرور با الارم منیجر
با سلام
در حال کار بروی یک پروژه هستم که تو این برنامه میخام هر ساعت یکبار سرور رو چک کنه و اگر خبر جدید اضافه شده بود بگیره و تو دیتابیس ذخیره کنه و لیست ویو نمایش بده و با نوتیفیکیشن اطلاع بده
چطوری میتونم با الارم منیجر این کارو بکنم؟
توی آموزش استاد وجود داره ولی نمیدونم چه تغییری باید بدم تا بجای رفتن به اکتیویتی دیگه توی همون اکتیویتی یه تابعی رو انجام بده ممنون میشم راهنمایی کنید.
برای این سوال 1 پاسخ وجود دارد.

پاسخ به سوال
atf
9 سال پیش
+2
0
شما باید از برودکست ریسیور استفاده کنید و متدی که می خواهید رو تو قسمت onReceive ایجاد کنید یا صدا بزنید
public class MainReciver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Log.i("LOG", "MainReciver"); } }
و در کلاسی که خواستید آلارم منیجر رو صدا بزنید
فعال سازی آلارم منیجر و غیر فعال کردن آن به صورت زیر است
public static void startAlarm() { AlarmManager alarmManager=(AlarmManager) A.context.getSystemService(Context.ALARM_SERVICE); Intent intent = new Intent(A.context, MainReciver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(A.context, 0, intent, 0); alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,System.currentTimeMillis(),60 * 15000,pendingIntent); //15 min Log.i("LOG","startAlarm"); } public static void cancelAlarm() { AlarmManager alarmManager=(AlarmManager) A.context.getSystemService(Context.ALARM_SERVICE); Intent intent = new Intent(A.context, MainReciver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(A.context, 0, intent, 0); alarmManager.cancel(pendingIntent); Log.i("LOG", "cancelAlarm"); }
ایجاد تگ ریسیور در مانیفست یادتون نره
<receiver android:name=".MainReciver"> </receiver>
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .