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

کمک در مورد سرویس و الارم منیجر

مرتضی مرادی  6 سال پیش  6 سال پیش
0 0

سلام دوستان

من میخوام هر 10 ساعت یکبار دیتابیس sqlite که داخل برنامه دارم رو یکی از تیبل هاشو پاک کنم. یه فانشن نوشتم به اسم clearnews و همیخوام هر 10 ساعت یکبار صداش بزنم. الان چطوری باید با الارم منیجر اینو صدا بزنم؟ نیاز هست برادکست رسیور و سرویس هم استفاده بشه؟

لطفا یه توضیح یا یه کد بدهید.

چطوری باید یه نمونه از کلاس sqlite بسازم تو الارم منیجر تا فانشنشو صدا بزنم.

0 0
نمیتونید CurrentTimeMillis رو درون درون دیتابیس ذخیره کنید ؟ اونو بعنوان oldTime درنظر بگیرید و سپس وقتی برنامه اجرا میشه یا اگه درحال اجرا باشه ، CurrentTimeMillis الان رو بگیرید و مقدار oldTime رو ازش کم بکنید. اینطوری دستتون میاد آخرین باری که به برنامه اومده چند ساعت پیش بوده. (6 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
namdar79  6 سال پیش
+1 0

سلام

این متد رو فراخوانی کنید و مقدار تاخیر رو برای اجرای کد هاتون بدهید

 
//delay is after how much time(in millis) from current time you want to schedule the notification 
public void scheduleNotification(Context context, long delay) {
Intent notificationIntent = new Intent(context, MyNotificationPublisher.class); notificationIntent.putExtra(MyNotificationPublisher.NOTIFICATION_ID, someData); // send some data with intent PendingIntent pendingIntent = PendingIntent.getBroadcast(context, notificationId, notificationIntent, PendingIntent.FLAG_CANCEL_CURRENT); long futureInMillis = SystemClock.elapsedRealtime() + delay; AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, futureInMillis, pendingIntent); }

در مرحله بعد باید یک Broadcast ایجاد کنید

public class MyNotificationPublisher extends BroadcastReceiver {

   
    @Override
    public void onReceive(final Context context, Intent intent) {

       //Do some event
    }
}

و در آخر هم Broadcast رو در مانیفست معرفی کنید

<receiver android:name=".Services.MyNotificationPublisher"/>

اگر سوال دیگری در این باره داشتید مبحث How to Schedule in Android رو جستجو کنید


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