Özelliklere ve API'lere Genel Bakış

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

Yeni, değiştirilmiş ve kaldırılan API'lerin ayrıntılı listesi için API fark raporunu okuyun. Yeni API'lerle ilgili ayrıntılar için Android API referansını ziyaret edin. Yeni API'ler, görünürlük sağlamak 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 uygulamalarda ve tüm uygulamalarda Android 13 davranış değişikliklerine göz atmayı unutmayın.

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

Temalı uygulama simgeleri

Temalı uygulama simgelerini etkinleştiren kullanıcı
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 devralacak şekilde renklendirilir.

Bu özelliği desteklemek için uygulamanızın hem uyarlanabilir bir simge hem de tek renkli uygulama simgesi sağlaması ve manifest dosyasındaki <adaptive-icon> öğesinden tek renkli uygulama simgesine yönlendirmesi gerekir. Bir kullanıcı temalı uygulama simgelerini etkinleştirmişse (başka bir deyişle, sistem ayarlarında Temalı simgeler geçiş düğmesini açmışsa) ve başlatıcı bu özelliği destekliyorsa sistem, ton rengini belirlemek için kullanıcının seçtiği duvar kağıdının ve temanın rengini kullanır ve ardından tek renkli uygulama simgesine uygular.

Aşağıdaki senaryolardan herhangi birinde ana ekranda temalı uygulama simgesi GÖRÜNTÜLENMEZ 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

Diğer ayrıntılar ve talimatlar için Uyarlanabilir simgeler başlıklı makaleyi inceleyin.

Uygulamaya özgü dil tercihleri

Sistem ayarlarındaki uygulamaya özel diller

Çok dilli kullanıcılar çoğu durumda sistem dillerini İngilizce gibi tek bir dile ayarlar, ancak belirli uygulamalar için 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 uygulamalarda aşağıdaki özellikleri kullanıma sunuyor:

  • Sistem ayarları: Kullanıcıların her uygulama için tercih ettiği dili seçebileceği merkezi bir konumdur.

    Uygulamanızın, sisteme birden fazla dili desteklediğini bildirmek için uygulama manifestinde android:localeConfig özelliğini beyan etmesi gerekir. Daha fazla bilgi edinmek için kaynak dosyası oluşturma ve bunu uygulamanızın manifest dosyasında belirtme talimatlarına bakın.

  • Ek API'ler: LocaleManager ürünündeki setApplicationLocales() ve getApplicationLocales() yöntemleri gibi herkese açık bu 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 sayede, özel uygulama içi dil seçiciler oluşturmak için bu API'leri kullanan uygulamalar, dil tercihlerinin seçiminden bağımsız olarak kullanıcılarına tutarlı bir kullanıcı deneyimi sunar. Ayrıca, herkese açık API'ler standart kod miktarını azaltmanıza yardımcı olur, bölünmüş APK'ları ve uygulama düzeyinde kullanıcı dili ayarlarını depolamak için Uygulamalar için Otomatik Yedekleme'yi destekler.

    Önceki Android sürümleriyle geriye dönük uyumluluk için AndroidX'te de eşdeğer API'ler 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 etkilenmeyecektir.

İyileştirilmiş metin ve dil desteği

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

Daha hızlı tireleme

Kısa çizgi, kaydırılmış metnin okunmasını kolaylaştırır ve kullanıcı arayüzünüzün daha uyarlanabilir hale gelmesine yardımcı olur. Android 13'ten itibaren, tireleme performansı% 200'e kadar optimize edilmiştir. Bu sayede, oluşturma performansı üzerinde neredeyse hiçbir etkisi olmadan TextView özelliğini kullanarak bu özelliği etkinleştirebilirsiniz. Kısa çizgileri daha hızlı belirlemek için setHyphenationFrequency() içinde 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 aramayı yavaşlatan ve otomatik tamamlama gibi özellikleri içerir. 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. Daha önce, örneğin arama işlemi için Japon bir kullanıcının aşağıdaki adımları uygulaması gerekiyordu:

  1. Arama terimlerinin fonetik telaffuzu olarak Hiragana yazın (bir yer veya uygulama adı gibi)
  2. Klavyeyi kullanarak Hiragana karakterlerini Kanji'ye dönüştürün
  3. Kanji karakterlerini kullanarak yeniden arama yapın
  4. Nihayet arama sonuçlarını görün

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

Latin alfabesinde olmayan alfabeler için iyileştirilmiş satır yükseklikleri

Android 13, her dile uyarlanmış bir satır yüksekliği kullanarak Latin olmayan alfabelerin (ör. Tamil, Burmaca, Telugu ve Tibetçe) görünümünü iyileştirir. Yeni satır yükseklikleri kırpmayı önlüyor ve karakterlerin konumlandırmasını iyileştiriyor. Uygulamanız yalnızca Android 13'ü hedefleyerek bu iyileştirmelerden yararlanabilir. Yeni satır aralığını kullanırken uygulamalarınızı test ettiğinizden emin olun çünkü değişiklikler Latin alfabesi kullanılmayan dillerdeki kullanıcı arayüzünüzü etkileyebilir.

Android 12'de (yukarıda) kırpılan satır yükseklikleri artık daha iyi konumlandırılır ve Android 13'te (aşağıda) kırpılmamış olur.

İyileştirilmiş Japonca metin kaydırma

Android 13'ten itibaren TextView'lar daha gösterişli ve okunabilir Japon uygulamaları için metni karakter yerine Bunsetsu'ya (doğal görünen en küçük kelime birimi) veya ifadelere göre sarabilir. TextViews ile android:lineBreakWordStyle="phrase" kullanarak bu sarmalamadan yararlanabilirsiniz.

İfade stili etkin (aşağıda) ve olmadan (yukarıda) Japonca metin kaydırma.

Unicode kitaplığı 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.

Dikkate değer birkaç değişikliği aşağıda bulabilirsiniz:

  • Hem İngilizce (Kanada) en‑CA hem de İngilizce (Filipinler Cumhuriyeti) en‑PH, İngilizce (Birleşik Krallık) yerine İngilizce (ABD) en çeviri kaynağı bulunmadığında en‑GB çeviri kaynaklarını kullanır.
  • many çoğul kategorisi; İspanyolca es, İtalyanca it, Portekizce pt ve Portekizce (Portekiz) pt‑PT için kullanıma sunulmuştur. CLDR v38'de tanıtılan Fransızcaya benzer bir şekilde, çok sayılar için kullanılır.

Renk 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 canlı oluşturulan son derece kompakt bir yazı tipi biçimidir.

Çoğu uygulama için sistem her şeyi halleder ve COLRv1 ç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 bakın:

Hızlı Ayar yerleşim API'si

Bildirim gölgesindeki Hızlı Ayarlar, kullanıcıların bir uygulamanın içeriğinden ayrılmadan ayarları değiştirmeleri veya hızlı işlemler yapmaları için kullanışlı bir yoldur. Özel kutular sağlayan uygulamalar için kullanıcıların karolarınızı keşfetmelerini ve Hızlı Ayarlar'a eklemelerini kolaylaştırıyoruz. Yeni bir parça yerleştirme API'si kullanılarak uygulamanız, kullanıcıdan özel karonuzu doğrudan etkin Hızlı Ayarlar karolarına eklemesini isteyebilir. Yeni bir sistem iletişim kutusu, kullanıcının kutuyu eklemek için Hızlı Ayarlar'a gitmek zorunda kalmadan, uygulamanızdan ayrılmadan tek bir adımda kartı eklemesini sağlar.

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

Pano önizlemesi

Android 13'ten itibaren, içerik panoya eklendiğinde sistem standart bir görsel onay gösterir. Yeni onay aşağıdaki işlemleri gerçekleştirir:

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

Bu özellik, kopyalama işleminden sonra uygulamalar tarafından gösterilen çeşitli bildirimleri standart hale getirir ve kullanıcılara panoları üzerinde daha fazla kontrol sunar. Ek bilgi için Kopyala ve Yapıştır özelliği sayfasını ziyaret edin.

Kopyala/Yapıştır widget&#39;ı
İçerik panoya girdiğinde gösterilen yeni kullanıcı arayüzü.

Tahmine dayalı geri hareketi

Android 13; telefon, büyük ekran ve katlanabilir cihaz gibi Android cihazlarda tahmine dayalı bir geri hareketi sağlar. Bu özelliğin desteklenmesi için uygulamanızı güncellemeniz gerekir.

Ayrıntılı belgeleri görmek için Uygulamanızı tahmine dayalı geri hareketini destekleyecek şekilde güncelleme başlıklı makaleye göz atın. Codelab'imizi de deneyebilirsiniz.

Bluetooth LE Audio

Düşük Enerji (LE) Audio, Bluetooth Classic'in yerini alacak ve belirli kullanım alanları ile bağlantı topolojilerini etkinleştirmek üzere tasarlanmış kablosuz ses teknolojisidir. Kullanıcıların seslerini arkadaşlarına ve ailelerine gönderip yayınlamalarına veya bilgi, eğlence ya da erişilebilirlik için herkese açık yayınlara abone olmalarına olanak tanır. Kullanıcıların pil ömründen ödün vermeden yüksek kaliteli ses alabilmesini sağlamak için tasarlanmıştır ve Bluetooth Classic ile mümkün olmayan farklı kullanım durumları arasında sorunsuz bir şekilde geçiş yapabilir. Android 13'ten itibaren sistemde yerleşik LE Audio desteği bulunmaktadır. Böylece geliştiriciler, uyumlu cihazlarda bu özellikleri ücretsiz olarak kullanabilir.

MIDI 2.0

Android 13'ten itibaren sistem, MIDI 2.0 donanımını USB üzerinden bağlama olanağı dahil olmak üzere MIDI 2.0 standardını destekler. Bu standart, kumandalar için artırılmış çözünürlük, Batı olmayan tonlama için daha iyi destek ve nota başına denetleyicilerin kullanıldığı daha etkileyici performans gibi özellikler sunar.

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

Android 13, Başlangıç Ekranı API'sindeki animasyonlu başlangıç ekranlarının verimliliğini artırır:

  • Sistem, animasyon süresini doğrudan AnimatedVectorDrawable parametresinden tahmin eder. Android 13'ten önce windowSplashScreenAnimationDuration özelliğinin doğrudan ayarlanması gerekiyordu.

  • Android 13 ve sonraki sürümlerde uygulamanızın başlangıç ekranında simgenin her zaman görüntülenip görüntülenmediği konusunda daha fazla kontrol sahibi olmak için yeni windowSplashScreenBehavior özelliğini kullanın.

Ayrıntılı belgeleri görmek için Başlangıç Ekranları bölümüne bakın.

ART optimizasyonları

ART, Android 13 (API düzeyi 33) ve sonraki sürümlerde yerel kod arasında geçiş yapmayı çok daha hızlı hale getirir.Üstelik JNI çağrıları artık 2, 5 kata kadar daha hızlıdır. Çalışma zamanı referans işlemesi de üzerinde yeniden çalışarak sürecin büyük ölçüde engellenmemesini sağladı ve bu sayede jankı daha da azalttı. Ayrıca, Reference.refersTo() genel API'yi kullanarak erişilemeyen nesneleri daha erken geri alabilirsiniz. Optimize edilmiş sınıf ve yöntem aramaları sayesinde yorumlayıcının artık daha hızlı olduğunu göreceksiniz. ART ayrıca yükleme sırasında daha fazla bayt kodu doğrulaması yaparak çalışma zamanında doğrulama maliyetinden kurtulur ve uygulama başlatma sürelerinin kısa olmasını sağlar.

Gizlilik ve güvenlik

Bağlama kayıtlı alıcıların daha güvenli dışa aktarılması

Android 13, çalışma zamanı alıcılarını daha güvenli hale getirmeye yardımcı olmak için uygulamanızda, kayıtlı bir yayın alıcısının dışa aktarılıp cihazdaki diğer uygulamalar tarafından görülebilmesi gerekip gerekmediğini belirtme olanağını sunar. Android'in önceki sürümlerinde, cihazdaki herhangi bir uygulama dinamik olarak kaydedilmiş bir alıcıya korumasız yayın gönderebiliyordu (söz konusu alıcı bir imza izni ile korunmuyorsa).

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

Fotoğraf seçici

Android 13 (API düzeyi 33) ve sonraki sürümler bir fotoğraf seçici deneyimi içerir. Uygulamanız fotoğraf seçiciyi başlattığında kullanıcılar, uygulamanızın tüm medya kitaplığını görüntüleyebilmesi için erişim izni vermek yerine, uygulamanızla paylaşılacak belirli resimleri ve videoları (ör. profil resimleri) seçer. Bu, kullanıcının fotoğraflarına ve videolarına erişmek için önerilen yoldur.

Uygulamanızın çalışma zamanında istenen izin beyan etmesi gerekmediğinden fotoğraf seçici, kullanıcılar için gelişmiş gizlilik sağlar. Buna ek olarak, fotoğraf seçici, uygulamalar için daha tutarlı bir kullanıcı deneyimi oluşturan yerleşik ve standartlaştırılmış bir kullanıcı arayüzü sağlar.

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

Android 13 (API düzeyi 33), NEARBY_DEVICES izin grubunda bir cihazın yakındaki erişim noktalarıyla olan bağlantılarını kablosuz ağ üzerinden yöneten uygulamalar için yeni bir çalışma zamanı iznini kullanıma sunuyor. Birkaç farklı Wi-Fi API'sini çağırdıklarında bu uygulamalar yeni NEARBY_WIFI_DEVICES iznini beyan etmelidir. Ayrıca, uygulamalar Wi-Fi API'lerinden fiziksel konum bilgisi elde etmediği sürece, Android 13 veya sonraki sürümleri hedeflerken ACCESS_FINE_LOCATION iznini beyan etmeleri gerekmez.

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

Tam alarm kullanmak için yeni izin

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

  • Uygulamanız bir çalar saat veya zamanlayıcı uygulaması olmalıdır.
  • Uygulamanız, yaklaşan etkinliklerle ilgili bildirimler gösteren bir takvim uygulamasıdır.

Uygulamanız tam alarm ayarlıyor ancak önceki listede gösterilen durumların ikisine de uymuyorsa bunun yerine SCHEDULE_EXACT_ALARM iznini beyan etmeye devam edin ve kullanıcının uygulamanıza erişimi reddettiği durumlara karşı hazırlıklı olun.

Geliştirici tarafından düşürülebilir izinler

Uygulamanız, Android 13'ten itibaren 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ştirmesini sağlar:

  • Kullanılmayan izinleri kaldırın.
  • Kullanıcının güvenini artıran izinlerle ilgili en iyi uygulamaları takip edin. Kullanıcılara, önceden iptal ettiğiniz izinleri gösteren bir iletişim kutusu göstermeyi düşünebilirsiniz.

APK İmza Şeması v3.1

Android 13'te, mevcut APK İmza Şeması v3'e kıyasla daha iyi olan APK İmza Şeması v3.1 desteği eklendi. Bu şema, APK İmza Şeması v3 ile ilgili bilinen sorunlardan bazılarını ele almaktadır. Özellikle v3.1 imza şeması, rotasyonun platformun sonraki bir sürümünü hedeflemesine olanak tanıyan SDK sürümü hedeflemesini destekler.

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

  • Android 13 veya sonraki sürümleri çalıştıran cihazlar v3.1 bloğunda döndürülen imzalayanı kullanır.
  • Android'in eski sürümlerini çalıştıran cihazlar, dönüşümlü imzalayanı yoksayar ve bunun yerine 3.0 sürümü bloğunda orijinal imzalayanı kullanır.

İmzalama anahtarını henüz döndürmemiş uygulamalar için herhangi bir ek işlem gerekmez. Bu uygulamalar her döndürüldüğünde, sistem varsayılan olarak v3.1 imza şemasını uygular.

Önceden döndürülmüş olup v3.0 imzalama blokunda döndürülmüş imzalama anahtarlarını kullanmaya devam etmek isteyen uygulamaların apksigner çağrıları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

...API_LEVEL değeri 32 veya daha küçükse.

Keystore 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 sağlıyor. java.security.ProviderException altına, Keystore/KeyMint hata kodlarını ve hatanın yeniden denenebilir olup olmadığını içeren Android'e özel istisnalarla birlikte bir istisna sınıfı hiyerarşisi ekledik. Ayrıca anahtar oluşturma yöntemlerini değiştirebilir ve yeni istisnaları uygulamak için bu yöntemleri (imzalama, şifreleme) kullanabilirsiniz. Geliştirilmiş hata raporlaması, anahtar oluşturma ile sınırlı değildir ve artık anahtar oluşturmayı yeniden denemek için ihtiyacınız olan verileri sağlayacaktır.

Tablet ve büyük ekran desteği

Android 13, Android 12'de sunulan tablet optimizasyonlarını ve sistem kullanıcı arayüzü optimizasyonları, daha iyi çoklu görev deneyimi ve iyileştirilmiş uyumluluk modlarını içeren 12L özellik lansmanını temel 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 etmeniz gerekenler 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 Gölgelendirici'den uyarlanmış AGSL animasyonlu gölgelendirici.

Sistem, Android 13'ten itibaren Android Grafik Gölgeleme Dili (AGSL) kullanılarak tanımlanan programlanabilir RuntimeShader nesnelerini destekler. AGSL, söz diziminin büyük bir kısmını GLSL ile paylaşır, ancak Android tuvalinin içinde boyamayı özelleştirmek ve Görünüm içeriğini filtrelemek için Android oluşturma motoru içinde çalışır. Android, bu gölgelendiricileri dahili olarak dalga efektleri, bulanıklaştırma ve fazla kaydırmayı uzatma amacıyla kullanır. Android 13 ve sonraki sürümler, uygulamanız için benzer gelişmiş efektler oluşturmanıza olanak tanır.

Koreograf iyileştirmeleri

Android 13, Choreographer ve ASurfaceControl için herkese açık API yöntemlerini kullanıma sunar. Bu yöntemler, uygulamalara olası kare zaman çizelgeleri hakkında daha fazla bilgi sağlar ve kare yaşam döngüsü hakkında SurfaceFlinger'a daha fazla bağlam kazandırır. Daha önce olduğu gibi, uygulamalar Choreographer adresine bir geri çağırma yayınlayabilir ve çerçeve zaman çizelgesi bilgilerini alabilir. Android 13'te (API düzeyi 33) Choreographer, birden fazla olası sunum zamanını ve karşılık gelen kare son tarihlerini döndürür. Uygulamalar sunum zamanını seçebilir ve ardından seçimi SurfaceFlinger adlı kullanıcıya bildirebilir. Böylece SurfaceFlinger, istenen sunum zamanından önce işlemleri veya manuel tamponları uygulamaya çalışmaz.

Uygulamanız yeni Koreograf ve SurfaceControl yöntemlerini kullanıyorsa uygulamanın çerçeve yaşam döngüsünü Perfetto izinde görüntüleyebilirsiniz.

Kamera

HDR video yakalama

Kamera2 API'leri, Android 13 sürümünden itibaren yüksek Dinamik Aralıklı (HDR) video yakalamayı destekler. Bu özellik, kameranızı kullanarak HDR video içeriğini önizlemenizi ve kaydetmenizi sağlar. Standart Dinamik Aralık (SDR) ile karşılaştırıldığında, HDR daha geniş bir renk aralığı sunar ve parlaklık bileşeninin dinamik aralığını artırır (mevcut 100 cd/m2'den 1.000 cd/m2 değerine kadar). Böylece daha zengin renkler, daha parlak parlak alanlar ve daha koyu gölgelerle gerçek hayata daha yakın video kalitesi elde edersiniz.

HDR video yakalama hakkında daha fazla bilgi edinmek için HDR video yakalama belgelerine bakın.

Medya

Üç boyutlu ses

Üç boyutlu ses, medya içeriğini kullanıcılarınız için daha gerçekçi hale getiren etkileyici bir ses deneyimidir. Bu özellikle nasıl entegre edileceğiyle ilgili ayrıntılar için Üç boyutlu ses dokümanlarımıza bakın.

Tahmini 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 yönlendirme API'lerini kullanıma sunar. getAudioDevicesForAttributes() API, belirtilen sesi çalmak için kullanılabilecek cihazların listesini almanıza olanak tanır. getDirectProfilesForAttributes() API'si ise ses akışınızın doğrudan çalınıp çalınamayacağını anlamanıza yardımcı olur. Bu API'leri kullanarak ses parçanız için kullanılacak en iyi AudioFormat'i belirleyin.

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, sistem genelinde yeni bir erişilebilirlik tercihi sunar. Sesli açıklama, bir anlatıcının sunu boyunca konuştuğu ve sesteki doğal duraklamalar sırasında ekranda olanları açıkladığı ek bir anlatım parçasıdır. Aşağıdaki kod snippet'inde gösterildiği gibi uygulamalar, isAudioDescriptionRequested() ile sorgulayarak kullanıcının sesli açıklama parçaları için tercihine uygun olabilir:

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'e işleyici ekleyerek kullanıcının tercih değişikliğini 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ı hem kitaplık güncellemeleri hem de uygulama ve platform geliştiricileri için Java 11 dil desteğiyle OpenJDK 11 LTS sürümüyle uyumlu olacak şekilde yenileme çalışmalarına başlıyor. Android 13'te sunulan temel kitaplık değişiklikleri, Google Play'in ART Mainline Modülü'ndeki sistem güncellemesiyle Android 12 cihazlarda da kullanılabilecek.

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

  • Yerel değişkenler için ve lambdas parametresi olarak var anahtar kelimesi desteği.
  • Dize sınıfındaki yeni yöntemler:

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

  • Optional, OptionalDouble, OptionalInt veOptionalLong java.util sınıflarında ifPresentOrElse(), isEmpty(), orElseThrow() ve stream() desteği.

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

  • Okuma karakterlerini Writer öğesine aktaran NullReader, NullWriter, InputStream, OutputStream ve transferTo() Reader işlevi.

  • Charsets kullanarak URL kodlama ve kod çözme işlevi eklendi.

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

  • ByteArrayInput veya OutputStream ve Input veyaOutputStream 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 kullanarak java.util.concurrent öğesini OpenJDK 11 API'sine günceller.

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