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

في بيان تطبيقك، قدِّم بيانًا عن كل خدمة من خدمات تطبيقك التي تعمل في المقدّمة باستخدام عنصر <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 لواجهة برمجة التطبيقات أو الإصدارات الأحدث.