سؤال

أحاول إنشاء تطبيق لجدول المهام وقمت بإنشاء تطبيق إنذار في محاولة لمعرفة كيفية القيام بهذا الجزء على الأقل.يستخدم AlarmManager ويجعل المنبه ينطلق في الوقت الذي يختاره أ TimePicker.لكنها لا تعمل عندما emulator يتم إيقاف تشغيله وتشغيله مرة أخرى.

لذلك أحاول استخدامها BroadcastReceiver لكنني لا أفهم أيًا من الأدلة...أعني هل من المفترض أن أقوم بتعيين intent أن alarm manager يفعل ل BroadcastReciever؟أو هل يمكنني فقط تشغيل التطبيق ثم يظهر التنبيه مرة أخرى أم ماذا؟كيف يتم تخزين الإنذارات في أندرويد؟

هل كانت مفيدة؟

المحلول

لكنه لا يعمل عند إيقاف تشغيل المحاكي وتشغيله مرة أخرى.

وهذا هو السلوك الصحيح.. AlarmManagerيتم مسح الجدول الزمني عند إعادة التشغيل.تحتاج إلى التسجيل على وجه التحديد لتلقي ACTION_BOOT_COMPLETED البث، من أجل إعادة إنشاء أحداث التنبيه بعد إعادة التشغيل.

أعني هل من المفترض أن أقوم بتعيين النية التي يقوم بها مدير الإنذار لجهاز BroadcastReciever؟

حسنًا، إذا كنت تستخدم أ _WAKEUP- نمط التنبيه، الوصفة هي استخدام أ getBroadcast() PendingIntent مع AlarmManager, ، أين ال BroadcastReceiver اما أ WakefulBroadcastReceiver (ويتبع تلك التعليمات) أو يمرر التحكم إلى لي WakefulIntentService.

لدي أمثلة مفتعلة إلى حد ما للاستخدام WakefulIntentService و WakefulBroadcastRecevier.

كيف يتم تخزين الإنذارات في أندرويد؟

AFAIK، يتم الاحتفاظ بها في ذاكرة عملية نظام التشغيل الأساسية ولا تستمر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top