خدمة العمل

الإعلانات

خدمة العمل

 

خدمة العمل

public abstract class JobService
extends Service

java.lang.Object
 android.content.Context  ↳

 android.content.ContextWrapper  ↳      
 android.app.Service ↳            
 android.app.job.JobService ↳                 

 

 

هي نقطة إدخال للإستدعاء من JobScheduler

و هذه هي الفئة الأساسية، التي تتعامل مع الطلبات الغير متزامنة، والتي تمت جدولتها مسبقاً.

أنت مسؤول عن تجاوز دالة (JobService#onStartJob(JobParameters..حيث ستقوم بتنفيذ منطق وظيفتك “عملك”.

تقوم هذه الخدمة بتنفيذ كل وظيفة واردة، إلى معالج “Handler” يعمل في التسلسل الرئيسي لتطبيقك.

وهذا يعني أنه يجب عليك إلغاء تحميل، منطق التنفيذ الخاص بك لـ تسلسل \ معالج \ مهمة غير متزامنة أخرى من إختيارك.

عدم القيام بذلك، سوف يؤدي إلى منع أية عمليات إستدعاء مستقبليه، من مدير العمل JobManager..

خاصة (onStopJob(android.app.job.JobParameters ، والتي تهدف إلى إبلاغك بأن متطلبات الجدولة، لم تعد مستخدمة.

 

 

 

الملخص

 

الثوابت

String PERMISSION_BIND

خدمات عمل يجب حمايتها بواسطة هذه الإذن:

<service android:name="MyJobService"
         android:permission="android.permission.BIND_JOB_SERVICE" >
    ...
     
    

 

 

الثوابت الموروثة

من الفئة android.app.Service

المزيد
int START_CONTINUATION_MASK

هي بايتات مرجعة بواسطة

(onStartCommand(Intent, int, int والتي تصف كيفية متابعة الخدمة، إذا تم تعطيلها “قتلها”.

int START_FLAG_REDELIVERY

يتم تعيين هذه العلامة في

(onStartCommand(Intent, int, int إذا كان الغرض عبارة عن، إعادة تسليم لغرض، تم تسليمه سابقاً..

لأن الخدمة قامت مسبقاً بإرجاع START_REDELIVER_INTENT ولكنها “قُتلت” عُطلت قبل إستدعاء (stopSelf(int لذلك الغرض.

int START_FLAG_RETRY

يتم تعيين هذه العلامة في 

(onStartCommand(Intent, int, int إذا كان الغرض عبارة عن، إعادة محاوله..

لأن المحاولة الأصلية لم تصل\ أو تُرجع أبداً من

(onStartCommand(android.content.Intent, int, int

int START_NOT_STICKY

هو ثابت للإرجاع من (onStartCommand(Intent, int, int:

إذا تم تعطيل “قتل” عملية هذه الخدمة، أثناء بدء تشغيلها، (بعد الإرجاع من (onStartCommand(Intent, int, int).. 

ولا توجد أغراض جديدة مبدؤه، لتسليمها إليها، عندها قم بإخراج الخدمة من حالة البدء، ولا تُعيد الإنشاء حتى يتم الإستدعاء الصريح المقبل لـContext#startService.

int START_REDELIVER_INTENT

هو ثابت للإرجاع من (onStartCommand(Intent, int, int:

إذا تم تعطيل عملية هذه الخدمة، أثناء بدء تشغيلها، (بعد الإرجاع من (onStartCommand(Intent, int, int)..

عندها ستتم جدولتها لإعادة التشغيل، و سيتم إعادة تسليم أخر غرض، تم تسليمه إليها مرة أخرى عبر 

(onStartCommand(Intent, int, int.

int START_STICKY

ثابت للإرجاع من (onStartCommand(Intent, int, int:

إذا تم تعطيل عملية هذه الخدمة أثناء بدء تشغيلها، (بعد الإرجاع من (onStartCommand(Intent, int, int)

إذن أتركها في حالة البدء، ولكن لا تحتفظ بهذا الغرض المُستلم.

int START_STICKY_COMPATIBILITY

ثابت للإرجاع من (onStartCommand(Intent, int, int:

إصدار متوافق من START_STICKY والذي لا يضمن إستدعاء (onStartCommand(Intent, int, int مجدداً بعد التعطيل.

int STOP_FOREGROUND_DETACH

علامة لـ(stopForeground(int: في حالة تعيينها، فإن الإشعار المُقدم مسبقاً إلى (startForeground(int, Notification سيتم فصله عن الخدمة.

int STOP_FOREGROUND_REMOVE

علامة لـ(stopForeground(int: في حالة تعيينها، فإن الإشعار المُقدم مسبقاً إلى (startForeground(int, Notification ستتم إزالته.

من الفئة android.content.Context

من الواجهة android.content.ComponentCallbacks2

المزيد
int TRIM_MEMORY_BACKGROUND

هو مستوى لـ(onTrimMemory(int: يعني أن العملية أنتقلت إلى قائمة LRU .

int TRIM_MEMORY_COMPLETE

هو مستوى لـ(onTrimMemory(int: يعني أن العملية تقترب من نهاية قائمة LRU الخلفيه، وإذا لم يتوفر المزيد من الذاكرة قريباً، فسيتم تعطيلها “قتلها”.

int TRIM_MEMORY_MODERATE

هو مستوى لـ(onTrimMemory(int: يعني أن العملية بالقرب من منتصف قائمة LRU الخلفية؛ تحرير الذاكرة يمكن أن يساعد النظام في الحفاظ على العمليات الأخرى، قيد التشغيل في القائمة لاحقاً، للحصول على أداء أفضل بالكامل.

int TRIM_MEMORY_RUNNING_CRITICAL

هو مستوى لـ(onTrimMemory(int:

يعني أن هذه العملية ليست عملية خلفية مستهلكة، لكن الجهاز يعمل على ذاكرة منخفضة للغاية، وهو على وشك عدم القدرة على الإحتفاظ بأي عمليات خلفية قيد التشغيل.

int TRIM_MEMORY_RUNNING_LOW

هو مستوى لـ(onTrimMemory(int:

يعني أن هذه العملية ليست عملية خلفية مستهلكة، لكن الجهاز يعمل على ذاكرة منخفضة.

int TRIM_MEMORY_RUNNING_MODERATE

هو مستوى لـ(onTrimMemory(int:

يعني أن هذه العملية ليست عملية خلفية مستهلكة، ولكن الجهاز يعمل على ذاكرة متوسطة الإنخفاض.

int TRIM_MEMORY_UI_HIDDEN

هو مستوى لـ(onTrimMemory(int:

يعني أن العملية كانت تعرض واجهة مستخدم، ولم تعد تفعل ذلك.

 

البنى العامه

()JobService خدمة العمل

الدوال العامه

final void (jobFinished(JobParameters params, boolean wantsReschedule

قم بإستدعاؤها لإبلاغ “جدولة العمل” JobScheduler بأن الوظيفه “المهمة” قد أنهت عملها.

abstract boolean (onStartJob(JobParameters params

تستدعى للإشارة إلى أن المهمة قد بدأت التنفيذ.

abstract boolean (onStopJob(JobParameters params

تستدعى هذه الداله، إذا قرر النظام بأنه يجب عليك إيقاف تنفيذ “وظيفتك” مهمتك، حتى قبل أن تحظى بفرصة لإستدعاء (jobFinished(android.app.job.JobParameters, boolean.

راجع أيضاً:


للإطلاع على المقال باللغة الإنجليزية أضغط هنا.

الإعلانات