Özelliklere ve API'lere Genel Bakış

Android 13, geliştiriciler için harika yeni özellikler ve API'ler sunuyor. Aşağıdaki bölümler, uygulamalarınızdaki özellikler hakkında bilgi edinmenize ve ilgili API'leri kullanmaya başlamanıza yardımcı olur.

Yeni, değiştirilmiş ve kaldırılmış API'lerin ayrıntılı listesi için API fark raporunu inceleyin. Yeni API'lerle ilgili ayrıntılar için Android API referansını ziyaret edin. Yeni API'ler görünürlük için vurgulanmıştır. Ayrıca, platform değişikliklerinin uygulamalarınızı etkileyebileceği alanlar hakkında bilgi edinmek için Android 13'ü hedefleyen uygulamalar ve tüm uygulamalar için Android 13'teki davranış değişikliklerine göz atın.

Geliştirici üretkenliği ve araçları

Temalı uygulama simgeleri

Kullanıcıların temalı uygulama simgelerini etkinleştirmesi
Android 13'te temalı uygulama simgelerini etkinleştirme

Android 13'ten itibaren temalı uygulama simgelerini etkinleştirebilirsiniz. Bu özellik sayesinde, desteklenen Android başlatıcılardaki uygulama simgeleri, kullanıcının seçtiği duvar kağıdının ve diğer temaların rengini alacak şekilde renklendirilir.

Bu özelliği desteklemek için uygulamanız hem uyarlanabilir simge hem de tek renkli uygulama simgesi sağlamalı ve manifestteki <adaptive-icon> öğesinden tek renkli uygulama simgesine yönlendirmelidir. Bir kullanıcı, temalı uygulama simgelerini etkinleştirmişse (diğer bir deyişle sistem ayarlarında Temalı simgeler açma/kapatma düğmesini açmışsa) ve başlatıcı da bu özelliği destekliyorsa sistem, kullanıcının seçtiği duvar kağıdı ve temanın rengine göre renk tonunu belirler. Ardından, bu renk tonunu tek renkli uygulama simgesine uygular.

Ana ekranda, aşağıdaki senaryolarda temalı uygulama simgesi GÖSTERİLMEZ ve bunun yerine uyarlanabilir veya standart uygulama simgesi gösterilir:

  • Kullanıcı temalı uygulama simgelerini etkinleştirmediyse
  • Uygulamanız tek renkli uygulama simgesi sağlamıyorsa
  • Başlatıcı, temalı uygulama simgelerini desteklemiyorsa

Daha fazla bilgi ve talimat için Uyarlanabilir simgeler başlıklı makaleyi inceleyin.

Uygulamaya özgü dil tercihleri

Sistem ayarlarında uygulamaya özgü diller

Çok dilli kullanıcılar çoğu durumda sistem dillerini İngilizce gibi tek bir dile ayarlar, ancak belirli uygulamalarda Felemenkçe, Çince veya Hintçe gibi başka diller de seçmek isterler. Android 13, uygulamaların bu kullanıcılara daha iyi bir deneyim sunmasına yardımcı olmak için birden fazla dili destekleyen uygulamalara yönelik aşağıdaki özellikleri sunar:

  • Sistem ayarları: Kullanıcıların her uygulama için tercih ettikleri dili seçebilecekleri merkezi bir konum.

    Uygulamanız, sisteme birden fazla dili desteklediğini bildirmek için uygulama manifestinizde android:localeConfig özelliğini bildirmelidir. Daha fazla bilgi edinmek için kaynak dosyası oluşturma ve bunu uygulamanızın manifest dosyasında bildirme ile ilgili talimatları inceleyin.

  • Ek API'ler: LocaleManager içindeki setApplicationLocales() ve getApplicationLocales() yöntemleri gibi bu herkese açık API'ler, uygulamaların çalışma zamanında sistem dilinden farklı bir dil ayarlamasına olanak tanır.

    Bu API'ler, sistem ayarlarıyla otomatik olarak senkronize edilir. Bu nedenle, özel uygulama içi dil seçiciler oluşturmak için bu API'leri kullanan uygulamalar, kullanıcılarının dil tercihlerini nerede seçtiklerinden bağımsız olarak tutarlı bir kullanıcı deneyimi yaşamasını sağlar. Herkese açık API'ler, standart kod miktarını azaltmanıza, bölünmüş APK'ları desteklemenize ve uygulama düzeyindeki kullanıcı dili ayarlarını depolamak için Uygulamalar için Otomatik Yedekleme'yi desteklemenize de yardımcı olur.

    Önceki Android sürümleriyle geriye dönük uyumluluk için eşdeğer API'ler AndroidX'te de mevcuttur. Appcompat 1.6.0-beta01 veya sonraki sürümlerde eklenen API'leri kullanmanızı öneririz.

Birden fazla dili desteklemeyen uygulamalar bu değişikliklerden etkilenmez.

Geliştirilmiş metin ve dil desteği

Android 13, daha iyi bir deneyim sunmanıza yardımcı olan çeşitli metin ve dil iyileştirmeleri içerir. Bu iyileştirmeler aşağıdaki bölümlerde açıklanmıştır:

Daha hızlı heceleme

Heceleme, sarılmış metnin okunmasını kolaylaştırır ve kullanıcı arayüzünüzün daha uyarlanabilir olmasına yardımcı olur. Android 13'ten itibaren tireleme performansı% 200'e kadar optimize edildi. Böylece, oluşturma performansı neredeyse hiç etkilenmeden TextView'da tirelemeyi etkinleştirebilirsiniz. Daha hızlı hecelemeyi etkinleştirmek için setHyphenationFrequency() bölümünde fullFast veya normalFast sıklıklarını kullanın.

Metin Dönüştürme API'leri

Japonca ve Çince gibi dilleri konuşan kullanıcılar, fonetik harf giriş yöntemlerini kullanır. Bu yöntemler genellikle arama ve otomatik tamamlama gibi özellikleri yavaşlatır. Android 13'te uygulamalar, yeni metin dönüştürme API'sini çağırabilir. Böylece kullanıcılar aradıklarını daha hızlı ve kolay bir şekilde bulabilir. Örneğin, daha önce arama yapmak için Japon kullanıcıların şu adımları uygulaması gerekiyordu:

  1. Arama terimlerinin (ör. yer veya uygulama adı) fonetik telaffuzu olarak Hiragana'yı girme
  2. Hiragana karakterlerini Kanji'ye dönüştürmek için klavyeyi kullanma
  3. Kanji karakterlerini kullanarak yeniden arama yapın
  4. Son olarak arama sonuçlarını alırlar.

Yeni metin dönüştürme API'si sayesinde Japon kullanıcılar Hiragana alfabesiyle yazabilir ve 2. ve 3. adımları atlayarak Kanji arama sonuçlarını anında görebilir.

Latin alfabesi dışındaki alfabeler için iyileştirilmiş satır yükseklikleri

Android 13, her dil için uyarlanmış bir satır yüksekliği kullanarak Latin alfabesi dışındaki yazıların (ör. Tamil, Birmanca, Telugu ve Tibetçe) gösterimini iyileştirir. Yeni satır yükseklikleri kırpmayı önler ve karakterlerin konumunu iyileştirir. Uygulamanız, yalnızca Android 13'ü hedefleyerek bu iyileştirmelerden yararlanabilir. Yeni satır aralığını kullanırken uygulamalarınızı test etmeyi unutmayın. Aksi takdirde, değişiklikler Latin alfabesi dışındaki dillerde kullanıcı arayüzünüzü etkileyebilir.

Android 12'de (üstte) kırpılan satır yükseklikleri artık Android 13'te (altta) daha iyi konumlandırılıyor ve kırpılmıyor.

Japonca metin kaydırma özelliği iyileştirildi

Android 13'ten itibaren TextView'lar, daha iyi ve okunabilir Japonca uygulamalar için metni karakter yerine Bunsetsu (doğal duyulan en küçük kelime birimi) veya ifadelerle sarabilir. TextView'larla android:lineBreakWordStyle="phrase" kullanarak bu sarmalamadan yararlanabilirsiniz.

Cümle stili etkinleştirilmiş (aşağıda) ve etkinleştirilmemiş (yukarıda) Japonca metin kaydırma.

Unicode kitaplık güncellemeleri

Android 13, Unicode ICU 70, Unicode CLDR 40 ve Unicode 14.0'da yer alan en son iyileştirmeleri, düzeltmeleri ve değişiklikleri içerir.

Önemli değişikliklerden bazıları:

  • İngilizce (Kanada) en‑CA ve İngilizce (Filipinler Cumhuriyeti) en‑PH, çeviri kaynakları olmadığında İngilizce (Birleşik Krallık) en‑GB yerine İngilizce (ABD) en çeviri kaynaklarını kullanır.
  • İspanyolca es, İtalyanca it, Portekizce pt ve Portekizce (Portekiz) pt‑PT için many çoğul kategorisi kullanıma sunuldu. CLDR v38'de kullanıma sunulan Fransızca ile benzer şekilde, bu da büyük sayılar için kullanılır.

Renkli vektör yazı tipleri

COLRv1 vektör emojisi (sol) ve bit eşlem emojisi (sağ)

Android 13'ten itibaren sistem, COLR sürüm 1 (COLRv1) yazı tipleri için oluşturma desteği içerir ve sistem emojilerini COLRv1 biçimine günceller. COLRv1, her boyutta hızlı ve net bir şekilde oluşturulan, oldukça kompakt bir yazı tipi biçimidir.

Çoğu uygulamada sistem her şeyi halleder ve COLRv1 sorunsuz çalışır. Ancak uygulamanız kendi metin oluşturma özelliğini uyguluyorsa ve sistemin yazı tiplerini kullanıyorsa emoji oluşturmayı test etmenizi öneririz.

COLRv1 hakkında daha fazla bilgi edinmek için aşağıdaki kaynaklara göz atın:

Hızlı Ayarlar yerleştirme API'si

Bildirim gölgesindeki Hızlı Ayarlar, kullanıcıların bir uygulamanın bağlamından ayrılmadan ayarları değiştirmesi veya hızlı işlemler yapması için uygun bir yöntemdir. Özel kutucuklar sağlayan uygulamalarda, kullanıcıların kutucuklarınızı Hızlı Ayarlar'a eklemesini ve keşfetmesini kolaylaştırıyoruz. Yeni bir kutucuk yerleştirme API'si kullanarak uygulamanız artık kullanıcıdan özel kutucuğunuzu doğrudan etkin Hızlı Ayarlar kutucukları grubuna eklemesini isteyebilir. Yeni bir sistem iletişim kutusu, kullanıcının kartı eklemek için Hızlı Ayarlar'a gitmesi gerekmeden uygulamanızdan ayrılmadan tek adımda kart eklemesine olanak tanır.

Kullanıcıya, Hızlı Ayarlar&#39;a kutu eklemek isteyip istemediğini soran bir iletişim kutusu.

Pano önizlemesi

Android 13'ten itibaren, sisteme içerik eklendiğinde standart bir görsel onay gösterilir. Yeni onay şu işlemleri yapar:

  • İçeriğin başarıyla kopyalandığını onaylar.
  • Kopyalanan içeriğin önizlemesini gösterir.

Bu özellik, uygulamaların kopyalama işleminden sonra gösterdiği çeşitli bildirimleri standartlaştırır ve kullanıcılara panoları üzerinde daha fazla kontrol olanağı sunar. Daha fazla bilgi için Kopyalama ve Yapıştırma özelliği sayfasına gidin.

Kopyalama/yapıştırma widget&#39;ı
İçerik panoya girdiğinde yeni kullanıcı arayüzü gösterilir.

Tahmin edilen geri gitme hareketi

Android 13, telefonlar, büyük ekranlar ve katlanabilir cihazlar gibi Android cihazlarda tahmini geri hareketi özelliğini kullanıma sunar. Bu özelliği desteklemek için uygulamanızı güncellemeniz gerekir.

Ayrıntılı dokümanları görmek için Uygulamanızı, tahmini geri hareketini destekleyecek şekilde güncelleme başlıklı makaleyi inceleyin. Codelab'imizi de deneyebilirsiniz.

Bluetooth LE Audio

Düşük Enerji (LE) Audio, Bluetooth Classic'in yerini almak ve belirli kullanım alanları ile bağlantı topolojilerini etkinleştirmek için tasarlanmış kablosuz bir ses teknolojisidir. Kullanıcılar, seslerini arkadaşları ve aileleriyle paylaşabilir ve onlara yayınlayabilir ya da bilgi, eğlence veya erişilebilirlik için herkese açık yayınlara abone olabilir. Kullanıcıların pil ömründen ödün vermeden yüksek kaliteli ses alabilmesini ve Bluetooth Classic ile mümkün olmayan farklı kullanım alanları arasında sorunsuz bir şekilde geçiş yapabilmesini sağlamak için tasarlanmıştır. Android 13'ten itibaren sistemde LE Audio için yerleşik destek bulunur. Bu nedenle geliştiriciler, uyumlu cihazlarda bu özellikleri ücretsiz olarak kullanabilir.

MIDI 2.0

Android 13'ten itibaren sistem, USB üzerinden MIDI 2.0 donanımını bağlama özelliği de dahil olmak üzere MIDI 2.0 standardını destekler. Bu standart; kontrol cihazları için daha yüksek çözünürlük, Batı dışı tonlamalar için daha iyi destek ve not başına kontrol cihazları kullanılarak daha etkileyici performans gibi özellikler sunar.

Başlangıç ekranı verimliliğinde iyileştirmeler

Android 13, SplashScreen API'deki animasyonlu başlangıç ekranlarının verimliliğini artırır:

  • Sistem, animasyon süresini doğrudan AnimatedVectorDrawable öğesinden çıkarır. Android 13'ten önce windowSplashScreenAnimationDuration değerinin doğrudan ayarlanması gerekiyordu.

  • Uygulamanızın Android 13 ve sonraki sürümlerde başlangıç ekranında her zaman simgeyi gösterip göstermeyeceğini daha iyi kontrol etmek için yeni windowSplashScreenBehavior özelliğini kullanın.

Ayrıntılı dokümanları görmek için Açılış Ekranları başlıklı makaleyi inceleyin.

ART optimizasyonları

Android 13 (API düzeyi 33) ve sonraki sürümlerde ART, yerel koda geçişi ve yerel koddan geçişi çok daha hızlı hale getirir.JNI çağrıları artık 2, 5 kata kadar daha hızlıdır. Çalışma zamanı referans işleme de büyük ölçüde engellememe özelliğiyle çalışacak şekilde yeniden düzenlendi. Bu da jank'ı daha da azaltıyor. Ayrıca, ulaşılamayan nesneleri daha hızlı geri almak için Reference.refersTo() public API'yi kullanabilirsiniz. Optimize edilmiş sınıf ve yöntem aramaları sayesinde yorumlayıcının artık daha hızlı olduğunu fark edeceksiniz. ART ayrıca yükleme sırasında daha fazla bayt kodu doğrulaması yaparak çalışma zamanında doğrulama maliyetini önler ve uygulamanın başlatma sürelerini hızlı tutar.

Gizlilik ve güvenlik

Bağlamı kaydedilmiş alıcıların daha güvenli şekilde dışa aktarılması

Android 13, çalışma zamanı alıcılarını daha güvenli hale getirmek için uygulamanızın, kayıtlı bir yayın alıcının dışa aktarılıp aktarılmayacağını ve cihazdaki diğer uygulamalara görünür olup olmayacağını belirtmesine olanak tanır. Android'in önceki sürümlerinde, alıcı imza izni ile korunmadığı sürece cihazdaki herhangi bir uygulama, dinamik olarak kaydedilmiş bir alıcıya korumasız yayın gönderebiliyordu.

Bu dışa aktarma yapılandırması, aşağıdaki işlemlerden en az birini yapan uygulamalarda kullanılabilir:

Fotoğraf seçici

Android 13 (API düzeyi 33) ve sonraki sürümlerde fotoğraf seçici deneyimi bulunur. Uygulamanız fotoğraf seçiciyi başlattığında kullanıcılar, uygulamanızın tüm medya kitaplığına erişmesine izin vermek yerine uygulamanızla paylaşılacak belirli resimleri ve videoları (ör. profil resimleri) seçer. Bu, kullanıcının fotoğraf ve videolarına erişmek için önerilen yöntemdir.

Uygulamanızın herhangi bir çalışma zamanı izni bildirmesi gerekmediğinden fotoğraf seçici, kullanıcılar için gelişmiş gizlilik sağlar. Ayrıca, fotoğraf seçici uygulamalar için yerleşik ve standartlaştırılmış bir kullanıcı arayüzü sağlayarak daha tutarlı bir kullanıcı deneyimi oluşturur.

Yakındaki kablosuz cihazlar için yeni çalışma zamanı izni

Android 13 (API düzeyi 33), bir cihazın kablosuz bağlantı noktalarına Wi-Fi üzerinden bağlantılarını yöneten uygulamalar için NEARBY_DEVICES izin grubunda yeni bir çalışma zamanı izni sunar. Bu uygulamalar, NEARBY_WIFI_DEVICES yeni iznini çeşitli Wi-Fi API'lerini çağırırken bildirmelidir. Ayrıca, uygulamalar Wi-Fi API'lerinden fiziksel konum elde etmediği sürece Android 13 veya sonraki sürümleri hedeflerken ACCESS_FINE_LOCATION iznini bildirmeleri gerekmez.

Yakındaki kablosuz cihazlar izni hakkında daha fazla bilgi edinin.

Tam alarmları kullanmayla ilgili yeni izin

Uygulamanız Android 13 veya sonraki sürümleri hedefliyorsa uygulamanıza otomatik olarak verilen USE_EXACT_ALARM iznini kullanabilirsiniz. Ancak uygulamanızın bu izni kullanabilmesi için aşağıdaki kriterlerden en az birini karşılaması gerekir:

  • Uygulamanız bir alarm saati veya zamanlayıcı uygulamasıdır.
  • Uygulamanız, yaklaşan etkinliklerle ilgili bildirimler gösteren bir takvim uygulamasıdır.

Uygulamanız tam alarm ayarlıyorsa ancak önceki listede gösterilen durumlardan hiçbirini karşılamıyorsa bunun yerine SCHEDULE_EXACT_ALARM iznini beyan etmeye devam edin ve kullanıcının uygulamanıza erişimi reddettiği duruma hazırlıklı olun.

Geliştirici tarafından azaltılabilir izinler

Android 13'ten itibaren uygulamanız kullanılmayan çalışma zamanı izinlerine erişimi iptal edebilir. Bu API, uygulamanızın aşağıdakiler gibi gizliliği artıran görevleri gerçekleştirmesine olanak tanır:

  • Kullanılmayan izinleri kaldırın.
  • Kullanıcıların güvenini artırmak için izinlerle ilgili en iyi uygulamalara uyun. Kullanıcılara, proaktif olarak iptal ettiğiniz izinleri gösteren bir iletişim kutusu göstermeyi düşünebilirsiniz.

APK İmza Şeması v3.1

Android 13, mevcut APK İmza Şeması v3'ü geliştiren APK İmza Şeması v3.1 desteği ekler. Bu şema, APK İmza Şeması v3 ile ilgili bilinen bazı sorunları ele alarak döndürme işlemini kolaylaştırır. Özellikle v3.1 imza şeması, SDK sürümünü hedeflemeyi destekler. Bu sayede, platformun daha sonraki bir sürümünü hedeflemek için döndürme yapılabilir.

v3.1 imza şeması, 12L veya daha eski sürümlerde tanınmayan bir blok kimliği kullanıyor. Bu nedenle, platform aşağıdaki imzalayan davranışını uygular:

  • Android 13 veya sonraki sürümlerin yüklü olduğu cihazlar, v3.1 bloğunda döndürülmüş imzalayanı kullanır.
  • Android'in eski sürümlerini çalıştıran cihazlar, döndürülmüş imzalayanı yok sayar ve bunun yerine v3.0 bloğundaki orijinal imzalayanı kullanır.

İmzalama anahtarını henüz döndürmemiş olan uygulamalar için ek bir işlem yapılması gerekmez. Bu uygulamalar döndürmeyi seçtiğinde sistem varsayılan olarak v3.1 imza şemasını uygular.

İmzalama anahtarını döndürmüş ve döndürülmüş imzalama anahtarını v3.0 imzalama bloğunda kullanmaya devam etmek isteyen uygulamaların apksigner çağırmalarını güncellemesi gerekir:

apksigner sign --ks keystore.jks |
  --key key.pk8 --cert cert.x509.pem
  --rotation-min-sdk-version API_LEVEL
  [signer_options] app-name.apk

...burada API_LEVEL 32 veya daha düşüktür.

Anahtar deposu ve KeyMint'te daha iyi hata raporlama

Anahtar oluşturan uygulamalar için Keystore ve KeyMint artık daha ayrıntılı ve doğru hata göstergeleri sunuyor. java.security.ProviderException altında, Keystore/KeyMint hata kodları ve hatanın yeniden denenebilir olup olmadığını içeren Android'e özel istisnaların bulunduğu bir istisna sınıfı hiyerarşisi ekledik. Yeni istisnalar oluşturmak için anahtar oluşturma ve kullanma (imzalama, şifreleme) yöntemlerini de değiştirebilirsiniz. Geliştirilmiş hata raporlama özelliği, anahtar oluşturma ile sınırlı değildir ve artık anahtar oluşturmayı yeniden denemek için ihtiyacınız olan bilgileri sağlar.

Tablet ve büyük ekran desteği

Android 13, Android 12'de ve 12L özellik güncellemesinde sunulan tablet optimizasyonlarını temel alır. Bu optimizasyonlar arasında sistem kullanıcı arayüzü optimizasyonları, daha iyi çoklu görev ve geliştirilmiş uyumluluk modları yer alır. Testinizin bir parçası olarak uygulamalarınızın tabletlerde ve diğer büyük ekranlı cihazlarda en iyi şekilde göründüğünden emin olun.

Yenilikler ve test edilecek özellikler hakkında daha fazla bilgi için Tablet ve büyük ekran desteği sayfasına bakın.

Grafik

Programlanabilir gölgelendiriciler

Bu GLSL Shader'dan uyarlanmış bir AGSL animasyonlu gölgelendirici.

Android 13'ten itibaren sistem, Android Graphics Shading Language (AGSL) kullanılarak tanımlanan davranışlarla programlanabilir RuntimeShader nesneleri destekler. AGSL, söz diziminin büyük bir bölümünü GLSL ile paylaşır ancak Android'in tuvalinde boyamayı özelleştirmek ve View içeriğini filtrelemek için Android oluşturma motorunda çalışır. Android, dalgalanma efektleri, bulanıklaştırma ve kaydırma sonrası esnetme özelliklerini uygulamak için bu gölgelendiricileri dahili olarak kullanır. Android 13 ve sonraki sürümlerde, uygulamanız için benzer gelişmiş efektler oluşturabilirsiniz.

Koreograf iyileştirmeleri

Android 13, Choreographer ve ASurfaceControl için herkese açık API yöntemleri sunar. Bu yöntemler, uygulamalara olası kare zaman çizelgeleri hakkında daha fazla bilgi sağlar ve kare yaşam döngüsüyle ilgili SurfaceFlinger'a daha fazla bağlam ekler. Daha önce olduğu gibi uygulamalar, Choreographer için geri çağırma yayınlayabilir ve kare zaman çizelgesi bilgilerini alabilir. Android 13'te (API düzeyi 33) Choreographer, olası birden fazla sunum zamanını ve bunlara karşılık gelen kare son tarihlerini döndürür. Uygulamalar, sunum zamanını seçebilir ve ardından seçimle ilgili bildirim gönderebilirSurfaceFlinger. SurfaceFlinger, istenen sunum zamanından önce işlemleri uygulamaya veya arabelleğe almaya çalışmaz.

Uygulamanız yeni Choreographer ve SurfaceControl yöntemlerini kullanıyorsa, uygulamanın kare yaşam döngüsünü Perfetto izinde görüntüleyebilirsiniz.

Kamera

HDR video yakalama

Android 13'ten itibaren Camera2 API'leri, Yüksek Dinamik Aralık (HDR) video yakalamayı destekler. Bu sayede kameranızı kullanarak HDR video içeriklerini önizleyebilir ve kaydedebilirsiniz. HDR, Standart Dinamik Aralık'a (SDR) kıyasla daha geniş bir renk aralığı sunar ve parlaklık bileşeninin dinamik aralığını artırır (mevcut 100 cd/m2'den binlerce cd/m2'ye). Bu sayede, daha zengin renkler, daha parlak vurgular ve daha koyu gölgelerle gerçek hayata daha yakın bir video kalitesi elde edilir.

HDR video çekimi hakkında daha fazla bilgi edinmek için HDR video çekimi dokümanına bakın.

Medya

Üç boyutlu ses

Uzamsal ses, medya içeriklerinin kullanıcılarınız için daha gerçekçi duyulmasını sağlayan etkileyici bir ses deneyimidir. Bu özellikle nasıl entegre olacağınız hakkında ayrıntılı bilgi için Üç boyutlu ses dokümanlarımızı inceleyin.

Beklentiye dayalı ses yönlendirme

Android 13, medya uygulamalarının seslerinin nasıl yönlendirileceğini belirlemesine yardımcı olmak için AudioManager sınıfında ses rotası API'lerini kullanıma sunar. getAudioDevicesForAttributes() API, belirtilen sesin çalınabileceği cihazların listesini almanıza olanak tanır. getDirectProfilesForAttributes() API ise ses akışınızın doğrudan oynatılıp oynatılamayacağını anlamanıza yardımcı olur. Ses parçanız için kullanılacak en iyi AudioFormat'yi belirlemek için bu API'leri kullanın.

Erişilebilirlik

Sesli açıklama

Android 13 (API düzeyi 33), kullanıcıların tüm uygulamalarda sesli açıklamaları etkinleştirmesine olanak tanıyan yeni bir sistem genelinde erişilebilirlik tercihi sunar. Sesli açıklama, sunum boyunca konuşan ve sesin doğal duraklamaları sırasında ekranda olanları açıklayan bir anlatıcının yer aldığı ek bir anlatım parçasıdır. Uygulamalar, aşağıdaki kod snippet'inde gösterildiği gibi isAudioDescriptionRequested() ile sorgulayarak kullanıcının sesli açıklama parçalarıyla ilgili tercihini takip edebilir:

Kotlin

private lateinit var accessibilityManager: AccessibilityManager

// In onCreate():
accessibilityManager = getSystemService(AccessibilityManager::class.java)

// Where your media player is initialized
if (accessibilityManager.isAudioDescriptionRequested) {
    // User has requested to enable audio descriptions
}

Java

private AccessibilityManager accessibilityManager;

// In onCreate():
accessibilityManager = getSystemService(AccessibilityManager.class);

// Where your media player is initialized
if(accessibilityManager.isAudioDescriptionRequested()) {
    // User has requested to enable audio descriptions
}

Uygulamalar, AccessbilityManager öğesine bir dinleyici ekleyerek kullanıcının tercihlerindeki değişiklikleri izleyebilir:

Kotlin

private val listener =
    AccessibilityManager.AudioDescriptionRequestedChangeListener { enabled ->
        // Preference changed; reflect its state in your media player
    }

override fun onStart() {
    super.onStart()

    accessibilityManager.addAudioDescriptionRequestedChangeListener(mainExecutor, listener)
}

override fun onStop() {
    super.onStop()

    accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener)
}

Java

private AccessibilityManager.AudioDescriptionRequestedChangeListener listener = enabled -> {
    // Preference changed; reflect its state in your media player
};

@Override
protected void onStart() {
    super.onStart();

    accessibilityManager.addAudioDescriptionRequestedChangeListener(getMainExecutor(), listener);
}

@Override
protected void onStop() {
    super.onStop();

    accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener);
}

Temel işlevler

OpenJDK 11 güncellemeleri

Android 13, Android'in temel kitaplıklarını OpenJDK 11 LTS sürümüyle uyumlu olacak şekilde yenileme çalışmalarına başlar. Bu kapsamda, hem kitaplık güncellemeleri hem de uygulama ve platform geliştiriciler için Java 11 dil desteği sunulur. Android 13'te kullanıma sunulan temel kitaplık değişiklikleri, ART Mainline Modülü'ne yönelik bir Google Play sistem güncellemesi aracılığıyla Android 12 cihazlarda da kullanılabilecek.

Android 13, temel kitaplıklarda aşağıdaki değişiklikleri içerir:

  • Yerel değişkenler ve lambda parametreleri için var anahtar kelimesi desteği.
  • String sınıfındaki yeni yöntemler:

    • isBlank()
    • lines()
    • repeat()
    • strip()
    • stripLeading()
    • stripTrailing()
  • Bir koleksiyonun diziye uyarlanmasını kolaylaştırmak için Collection.toArray(IntFunction) desteği.

  • ifPresentOrElse(), isEmpty(), orElseThrow() ve stream() için destek java.util sınıflarında Optional, OptionalDouble, OptionalInt ve OptionalLong.

  • Soketlerin yeniden kullanımı da dahil olmak üzere SocketOptions için genişletilmiş destek.

  • NullReader, NullWriter, InputStream, OutputStream ve transferTo() Okunan karakterleri Writer'ye aktaran Reader işlevi.

  • Charsets kullanılarak URL kodlama ve kodu çözme işlevi eklendi.

  • Charset işlevi için FileReader, FileWriter, PrintStream ve PrintWriter.

  • ByteArrayInput veya OutputStream ve Input ya da OutputStream için yeni transferTo(), readNBytes(), readAllBytes() ve writeBytes() işlevleri

  • java.lang.invoke.VarHandle için çalışma zamanı ve derleyici desteği.

  • Dahili olarak VarHandle kullanılarak OpenJDK 11 API'ye java.util.concurrent güncellemeleri.

Java ve OpenJDK, Oracle ve/veya satış ortaklarının ticari markaları veya tescilli ticari markalarıdır.