الإفصاح عن الخدمات التي تعمل في المقدّمة وطلب الأذونات

في بيان تطبيقك، حدِّد كل خدمة من الخدمات التي تعمل في المقدّمة في تطبيقك باستخدام العنصر <service>. لكل خدمة، استخدِم السمة android:foregroundServiceType لتحديد نوع العمل الذي تؤديه الخدمة.

بالإضافة إلى ذلك، اطلب أي أذونات تحتاجها الخدمات التي تعمل في المقدّمة.

التوافق مع الإصدارات

تختلف متطلبات الإفصاح عن الخدمات التي تعمل في المقدّمة وطلب الأذونات حسب مستوى واجهة برمجة التطبيقات الذي يستهدفه تطبيقك. توضّح هذه الصفحة متطلبات التطبيقات التي تستهدف المستوى 34 أو مستوى أحدث لواجهة برمجة التطبيقات. للحصول على معلومات حول التغييرات التي طرأت على الخدمات التي تعمل في المقدّمة في إصدارات المنصة السابقة، يُرجى الاطّلاع على التغييرات التي طرأت على الخدمات التي تعمل في المقدّمة.

تعريف الخدمات التي تعمل في المقدّمة في بيان التطبيق

يوضّح الرمز البرمجي التالي كيفية تعريف خدمة تعمل في المقدّمة لتشغيل الوسائط. يمكنك استخدام خدمة مثل هذه لتشغيل الموسيقى.

<manifest xmlns:android="http://schemas.android.com/apk/res/android" ...>
  <application ...>

    <service
        android:name=".MyMediaPlaybackService"
        android:foregroundServiceType="mediaPlayback"
        android:exported="false">
    </service>
  </application>
</manifest>

النقاط الرئيسية حول الرمز

  • في هذا المثال، تحتوي الخدمة على نوع واحد فقط، وهو media. إذا كانت هناك أنواع متعددة تنطبق على خدمتك، افصل بينها باستخدام عامل التشغيل |. على سبيل المثال، إذا كانت خدمتك تستخدم الكاميرا والميكروفون، يجب الإفصاح عن ذلك على النحو التالي:

    android:foregroundServiceType="camera|microphone"
    
  • استنادًا إلى مستوى واجهة برمجة التطبيقات الذي يستهدفه تطبيقك، قد يكون مطلوبًا منك تقديم بيان للخدمات التي تعمل في المقدّمة ضمن بيان التطبيق. يتم توضيح متطلبات مستويات واجهة برمجة التطبيقات المحدّدة في مقالة التغييرات على الخدمات التي تعمل في المقدّمة.

    إذا حاولت إنشاء خدمة تعمل في المقدّمة ولم يتم تحديد نوعها في ملف البيان، سيُظهر النظام الخطأ MissingForegroundServiceTypeException عند استدعاء startForeground().

    حتى إذا لم يكن ذلك مطلوبًا، يُعدّ تقديم بيان عن جميع الخدمات التي تعمل في المقدّمة وتحديد أنواعها من أفضل الممارسات.

طلب أذونات الخدمات التي تعمل في المقدّمة

يوضّح الرمز البرمجي التالي كيفية طلب أذونات لخدمة تعمل في المقدّمة وتستخدم الكاميرا.

<manifest xmlns:android="http://schemas.android.com/apk/res/android" ...>

    <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_CAMERA"/>

    <application ...>
        ...
    </application>
</manifest>

النقاط الرئيسية حول الرمز

  • يستخدم هذا الرمز البرمجي أفضل الممارسات لتطبيق يستهدف المستوى 34 أو أعلى من واجهة برمجة التطبيقات.