Android Geliştiricileri için Youtube Api Player Sorunu ve Çözümü

Oğuzhan Yenen
2 min readDec 9, 2021

--

Herkese merhaba, kullanıcılarınızdan bu şekilde bir hata mesajı alıyorsanız doğru yerdesiniz :)

Eğer ki Android İşletim sistemi kullanan cihazlar için uygulama geliştiriyorsanız son zamanlar da uygulamanızda bu hatayı almış olmanız kuvvetle muhtemeldir.

Kullanıcılardan gelen şikayetleri incelediğim zaman bu hatanın Android 11 sürümü kullanan kullanıcılardan geldiğini anladım. Durumu araştırırken bunun Android 11'den itibaren (API 30+) Android İşletim Sisteminin, varsayılan olarak çekirdek sistem uygulamalarının parçası olmayan diğer tüm uygulamaları ve hizmetleri gizlediği için olduğunu fark ettim. Ve bu sorunun da Manifest.xml dosyasından erişilmek istenen API’nin açıkça beyan edilmesi ile çözüleceği noktasına ulaştım.

Dokümanlardan incelemeye devam ettiğimde ise beyan edilmeden kulllanılacak uygulamaları şu şekilde sıralamışlar :

  1. Geliştirdiğiniz kendi uygulamanız.
  2. Temel Android işlevselliğini uygulayan medya sağlayıcı gibi belirli sistem paketleri
  3. Bir etkinlikten nasıl sonuç alınacağına ilişkin startActivityForResult() yöntemini kullanarak uygulamanızda bir etkinlik başlatan herhangi bir uygulama
  4. Uygulamanızdaki bir hizmeti başlatan veya ona bağlanan herhangi bir uygulama
  5. Bir içerik sağlayıcısı olan ve uygulamanıza o içerik sağlayıcıya erişmek için URI izinlerinin verildiği herhangi bir uygulama
  6. Uygulamanızdan girdi alan herhangi bir uygulama

Bu belirtilen uygulamalar için her hangi bir beyan gerekmemekte, direk kullanılabilmektedir. Bunların dışında kalan uygulamaları ise manfest.xml dosyasından belirtmemiz gerekiyor.

Sorunu, çözümü ve gerekçeleri açıkladıktan sonra şimdi kod kısmını paylaşıyorum.

<queries>
<intent>
<action android:name="com.google.android.youtube.api.service.START" />
</intent>
</queries>

Bu kod parçasını manifest.xml dosyamızda application tag’ı sonrasında kullanmak isabetli oalcaktır.

<manifest
//burada izinler ...
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
</application>
<queries>
<intent>
<action android:name="com.google.android.youtube.api.service.START"/>
</intent>
</queries>
</manifest>

Okuduğunuz için teşekkür ederim, herkese iyi kodlamalar …

--

--

Oğuzhan Yenen
Oğuzhan Yenen

Written by Oğuzhan Yenen

Adalet Bakanlığı Büyük Veri ve Yapay Zeka Takım Lideri

No responses yet