أجهزة البث برمجة الأندرويد Android Broadcast Receivers#
أجهزة البث برمجة الأندرويد
Android Broadcast Receivers#
أجهزة استقبال البث تستجيب ببساطة لرسائل البث من التطبيقات الأخرى أو من النظام نفسه. تسمى هذه الرسائل أحيانًا أحداثًا أو نوايا. على سبيل المثال ، يمكن للتطبيقات أيضًا بدء عمليات البث للسماح للتطبيقات الأخرى بمعرفة أن بعض البيانات قد تم تنزيلها على الجهاز وهي متاحة للاستخدام ، لذلك هذا هو مستقبل البث الذي سيعترض هذا الاتصال وسيبدأ الإجراء المناسب.
هناك خطوتان مهمتان لجعل BroadcastReceiver يعمل وفقًا للنوايا التي يبثها النظام -
إنشاء جهاز استقبال البث.
تسجيل استقبال البث
هناك خطوة إضافية واحدة إذا كنت ستنفذ نواياك المخصصة ، فسيتعين عليك إنشاء هذه النوايا وبثها.
إنشاء جهاز استقبال البث
يتم تطبيق مستقبل البث كفئة فرعية من فئة BroadcastReceiver ويتجاوز طريقة onReceive () حيث يتم تلقي كل رسالة كمعلمة كائن Intent.
public class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Toast.makeText(context, "Intent Detected.", Toast.LENGTH_LONG).show(); } }
تسجيل استقبال البث
قائمة تطبيق لنوايا البث المحددة عن طريق تسجيل مستقبل البث في ملف AndroidManifest.xml. ضع في اعتبارك أننا سنقوم بتسجيل MyReceiver للحدث الذي تم إنشاؤه بواسطة النظام ACTION_BOOT_COMPLETED والذي يتم إطلاقه بواسطة النظام بمجرد اكتمال نظام Android لعملية التمهيد.
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
android:name="MyReceiver">
android:name="android.intent.action.BOOT_COMPLETED">
الآن عندما يتم اقلاع جهاز Android الخاص بك ، سيتم اعتراضه بواسطة BroadcastReceiver MyReceiver وسيتم تنفيذ المنطق المطبق داخل onReceive ().
هناك العديد من الأحداث التي تم إنشاؤها بواسطة النظام والتي تم تعريفها على أنها حقول ثابتة نهائية في فئة النوايا. يسرد الجدول التالي بعض أحداث النظام الهامة.
التسلسل | الوصف والأحداث الثابتة |
---|---|
1 |
android.intent.action.BATTERY_CHANGED
بث مثبت يحتوي على حالة الشحن والمستوى ومعلومات أخرى حول البطارية.
|
2 |
android.intent.action.BATTERY_LOW
يشير إلى انخفاض حالة البطارية على الجهاز.
|
3 |
android.intent.action.BATTERY_OKAY
يشير إلى أن البطارية الآن بخير بعد أن تكون منخفضة.
|
4 |
android.intent.action.BOOT_COMPLETED
يتم بث هذا مرة واحدة ، بعد انتهاء النظام من التشغيل.
|
5 |
android.intent.action.BUG_REPORT
إظهار النشاط للإبلاغ عن خطأ.
|
6 |
android.intent.action.CALL
قم بإجراء مكالمة لشخص محدد في البيانات.
|
7 |
android.intent.action.CALL_BUTTON
ضغط المستخدم على زر "الاتصال" للذهاب إلى المسجل أو واجهة مستخدم أخرى مناسبة لإجراء مكالمة.
|
8 |
android.intent.action.DATE_CHANGED
لقد تغير التاريخ.
|
9 |
android.intent.action.REBOOT
هل لديك إعادة تشغيل الجهاز.
|
البث مخصص لأهداف معينة
إذا كنت تريد أن يقوم التطبيق نفسه بإنشاء نوايا مخصصة وإرسالها ، فسيتعين عليك إنشاء تلك النوايا وإرسالها باستخدام طريقة sendBroadcast () داخل فئة النشاط الخاصة بك. إذا كنت تستخدم الأسلوب sendStickyBroadcast (Intent) ، فإن Intent يكون لزجًا ، مما يعني أن النية التي ترسلها تبقى بعد اكتمال البث.
public void broadcastIntent(View view) { Intent intent = new Intent(); intent.setAction("com.ahmedalmahallawi.CUSTOM_INTENT"); sendBroadcast(intent); }
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
android:name="MyReceiver">
android:name="com.ahmedalmahallawi.CUSTOM_INTENT">
التسميات: Android الاندرويد
<< الصفحة الرئيسية