Ön plan hizmetlerini beyan etme ve izin isteme

Uygulamanızın manifest dosyasında, uygulamanızın her ön plan hizmetini <service> öğesiyle bildirin. Her hizmet için, hizmetin ne tür bir iş yaptığına dair bilgi vermek üzere android:foregroundServiceType özelliği kullanın.

Ayrıca, ön plan hizmetleriniz için gereken izinleri isteyin.

Sürüm uyumluluğu

Ön plan hizmetlerinizi bildirme ve izin isteme koşulları, uygulamanızın hedeflediği API düzeyine göre değişir. Bu sayfada, API düzeyi 34 veya sonraki sürümleri hedefleyen uygulamalarla ilgili şartlar açıklanmaktadır. Daha önceki platform sürümlerinde ön plan hizmetlerinde yapılan değişiklikler hakkında bilgi edinmek için Ön plan hizmetlerinde yapılan değişiklikler başlıklı makaleyi inceleyin.

Uygulama manifestinde ön plan hizmetlerini bildirin

Aşağıdaki kodda, medya oynatma ön plan hizmetinin nasıl beyan edileceği gösterilmektedir. Müzik çalmak için bu tür bir hizmet kullanabilirsiniz.

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

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

Kodla ilgili önemli noktalar

  • Bu örnekte hizmetin yalnızca bir türü vardır: media. Hizmetiniz için birden fazla tür geçerliyse bunları | operatörüyle ayırın. Örneğin, hizmetinizde kamera ve mikrofon kullanılıyorsa bunu şu şekilde bildirin:

    android:foregroundServiceType="camera|microphone"
    
  • Uygulamanızın hedeflediği API düzeyine bağlı olarak, ön plan hizmetlerini uygulama manifestinde beyan etmeniz gerekebilir. Belirli API düzeyleriyle ilgili şartlar Ön plan hizmetlerinde yapılan değişiklikler bölümünde açıklanmıştır.

    Ön plan hizmeti oluşturmaya çalıştığınızda ve türü manifestte bildirilmediğinde sistem, startForeground() çağrıldığında MissingForegroundServiceTypeException oluşturur.

    Zorunlu olmasa bile tüm ön plan hizmetlerinizi beyan etmeniz ve hizmet türlerini belirtmeniz en iyi uygulamadır.

Ön plan hizmeti izinlerini isteme

Aşağıdaki kod, kamerayı kullanan bir ön plan hizmeti için nasıl izin isteğinde bulunulacağını gösterir.

<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>

Kodla ilgili önemli noktalar

  • Bu kod, API düzeyi 34 veya daha yüksek bir sürümü hedefleyen uygulamalar için en iyi uygulamaları kullanır.