Özelliklere ve API'lere Genel Bakış

Android 13, geliştiriciler için muhteşem yeni özellikler ve API'ler sunar. Bölümler aşağıda, uygulamalarınız için özellikler hakkında bilgi edinmenize ve API'lerle başlayın.

Yeni, değiştirilmiş ve kaldırılmış API'lerin ayrıntılı listesi için API fark raporu. Yeni API'lerle ilgili ayrıntılar için Android API referansını ziyaret edin. Yeni API'ler görünürlük. Ayrıca, platform değişikliklerinin yol açabileceği alanlar hakkında Android 13 davranış değişikliklerine göz atmayı unutmayın. Android 13 Android 13'ü hedefleyen ve tüm uygulamalar.

Geliştirici verimliliği ve araçları

Temalı uygulama simgeleri

Temalı uygulama simgelerini seçen kullanıcılar
Android 13'te temalı uygulama simgelerini etkinleştirme

Android 13'ten itibaren temalı uygulama simgelerini etkinleştirebilirsiniz. Bununla özelliği, desteklenen Android başlatıcılarındaki uygulama simgelerinin renk tonlaması, Kullanıcının seçtiği duvar kağıdının ve diğer temaların renklendirilmesi.

Bu özelliğin desteklenmesi için uygulamanızın hem uyarlanabilir simge ve tek renkli uygulama simgesini tıklayın ve Manifest dosyasında <adaptive-icon> öğesi. Kullanıcı temalı uygulamayı etkinleştirmişse simgeler (diğer bir deyişle, sistem ayarlarında Temalı simgeler açma/kapatma düğmesini açık konuma getirmelisiniz), ve başlatıcı bu özelliği destekliyorsa sistem, ton rengini belirlemek için seçtiği duvar kağıdını ve temayı kullanır. tek renkli uygulama simgesi için geçerlidir.

Ana ekranda, temalı uygulama simgesi GÖSTERİLMEZ. Bunun yerine Aşağıdaki senaryolardan herhangi birinde uyarlanabilir veya standart uygulama simgesini tıklayın:

  • 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ı makaleye bakın.

Uygulamaya özgü dil tercihleri

Sistem ayarlarındaki uygulamaya özgü diller

Çok dilli kullanıcılar çoğu durumda sistem dillerini tek bir dile ayarlar. ancak belirli uygulamalar için Felemenkçe, Çince veya Hintçe. Uygulamaların bu kullanıcılar için daha iyi bir deneyim sunmasına yardımcı olmak Android 13'te şu özellikleri destekleyen uygulamalar: birden çok dil:

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

    Uygulamanız, android:localeConfig özelliğini uygulamanızın manifest'ini kullanabilirsiniz. Öğrenmek için daha fazla bilgi için Bir kaynak dosyası oluşturup bunu uygulamanızın manifest dosyasında beyan etmek.

  • Ek API'ler: setApplicationLocales() ve getApplicationLocales() LocaleManager için yöntemleri kullanıyorsanız, çalışma zamanında sistem dilinden farklı bir dil ayarlayın.

    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ı, seçtikleri yerden bağımsız olarak tutarlı bir kullanıcı deneyimi sunar yardımcı olur. Ayrıca herkese açık API'ler de desteklenir, bölünmüş APK'ları destekler ve Uygulama düzeyinde depolamak için Uygulamalar için Otomatik Yedekleme kullanıcı dil ayarlarına gidin.

    Önceki Android sürümleriyle geriye dönük uyumluluk için eşdeğer API'ler AndroidX'te de mevcuttur. Önerilerimiz API'ler Appcompat 1.6.0-beta01'de eklendi veya daha yüksek olabilir.

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

Geliştirilmiş metin ve dil desteği

Android 13'ün özellikleri, metin ve dil iyileştirmeleriyle ilgili aşağıdaki bölümlerde daha iyi bir deneyim sunuyorsunuz:

Daha hızlı tireleme

Kısa çizgi, kaydırılmış metnin daha kolay okunmasını ve kullanıcı arayüzünüzün daha görünür olmasını sağlar uyarlanabilir. Kısaltma performansı, Android 13'ten itibaren aşağıdaki gibi optimize edilir: %200'e kadar bir oranın üzerinde çalışır. Böylece, TextView cihazınızda bunu etkinleştirebilirsiniz. oluşturma performansı. Kısaltmayı daha hızlı etkinleştirmek için fullFast veya normalFast sıklık setHyphenationFrequency().

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

Japonca ve Çince gibi diller konuşan kullanıcılar fonetik harf kullanır genellikle aramayı yavaşlatan otomatik giriş yöntemlerini ve teşekkür etmenin de önemli bir yoludur. Android 13'te uygulamalar yeni metin dönüştürme işlemini çağırabilir. API sayesinde kullanıcılar, aradıklarını daha hızlı ve kolay hale getiriyor. Önceden, örneğin, Japon kullanıcının şu adımları uygulaması gerekir:

  1. Arama teriminin fonetik telaffuzu olarak Hiragana girişi (örneğin, yer veya uygulama adı)
  2. Klavyeyi kullanarak Hiragana karakterlerini Kanji'ye dönüştürün
  3. Kanji karakterlerini kullanarak yeniden arama yapma
  4. Son olarak arama sonuçlarını alın

Yeni metin dönüştürme API'si ile Japon kullanıcılar Hiragana ve ve 2. ve 3. adımları atlayarak Kanji arama sonuçlarını canlı olarak görebilirsiniz.

Latin alfabesinde olmayan komut dosyaları için satır yükseklikleri iyileştirildi

Android 13, Latin alfabesinde olmayan alfabelerin (ör. Tamil, Burmaca, Teluguca ve Tibetçe) yayınlayabilirsiniz. Yeni satır yükseklikleri, kırpmayı önler ve karakterlerin konumlandırmasını iyileştirir. Yalnızca Android 13'ü hedefleyerek uygulamanızda bu iyileştirmelerden yararlanabilirsiniz. Yeni satır aralığını kullanırken uygulamalarınızı test ettiğinizden emin olun, çünkü Latin alfabesi kullanılmayan dillerdeki kullanıcı arayüzünüzü etkileyebilir.

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

İyileştirilmiş Japonca metin kaydırma

TextViews, Android 13'ten itibaren metinleri Bunsetsu (ses kullanarak daha ilgi çekici ve okunabilir olması için karakter yerine "doğal) veya ifadeler kullanabilirsiniz. Japonca uygulamalar. Bu sarmalamadan android:lineBreakWordStyle="phrase" test edebilirsiniz.

Sıralı stili etkin (aşağıda) ile Japonca metin kaydırma ve olmadan (yukarıda).

Unicode kitaplığı güncellemeleri

Android 13, Unicode ICU 70 Unicode CLDR 40 ve Unicode 14.0 olmalıdır.

Göze çarpan birkaç değişikliği aşağıda bulabilirsiniz:

  • İngilizce (Kanada) en‑CA ve İngilizce (Cumhuriyeti Filipinler) en‑PH her ikisi de İngilizce (ABD) en kullanıyor kullanılabilir çeviri kaynağı olmadığında çeviri kaynakları İngilizce (BK) yerine en‑GB kullanın.
  • many çoğul kategorisi; İspanyolca es, İtalyanca it, Portekizce pt ve Portekizce (Portekiz) pt‑PT. Benzer CLDR v38'de kullanıma sunulan dili, büyük sayılar için kullanılır.

Renk vektörü yazı tipleri

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

Sistem, Android 13'ten itibaren COLR sürüm 1 için oluşturma desteğini içerir. (COLRv1) yazı tiplerini kullanır ve sistem emojisini COLRv1 biçiminde günceller. COLRv1, her boyutta hızlı ve keskin şekilde oluşturulan kompakt yazı tipi biçimi.

Çoğu uygulama için her şeyi sistem halleder ve COLRv1 sorunsuz şekilde çalışır. Ancak, Uygulamanız kendi metin oluşturma işlemini uygular ve sistemin yazı tiplerini kullanırsa emoji oluşturmayı test etmenizi öneririz.

COLRv1 hakkında daha fazla bilgi edinmek için aşağıdaki kaynakları inceleyin:

Hızlı Ayarlar yerleşim API'sı

Bildirim gölgesindeki Hızlı Ayarlar, kullanıcıların uygulamadan ayrılmadan ayarlar yapabilir veya hızlı işlemler gerçekleştirebilirsiniz. Uygulamalar için özel bloklar sağlayan, kullanıcıların, karolarınızı keşfetmesini ve Google Hızlı Arama'ya eklemesini Ayarlar'a dokunun. Yeni bir kutu yerleşim API'si kullanıyorsanız uygulamanız artık kullanıcıdan özel karonuzu doğrudan etkin Hızlı Ayar blokları. Yeni bir sistem iletişim kutusu, kullanıcının Quick'a geçmek zorunda kalmadan, uygulamanızdan ayrılmadan tek adımda Kart ekleme ayarları'na dokunun.

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

Pano önizlemesi

Android 13'ten itibaren sistem, panoya eklenir. Yeni onay şunları yapar:

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

Bu özellik, kopyalama işleminden sonra uygulamaların gösterdiği çeşitli bildirimleri standart hâle getirir. ve kullanıcılara panoları üzerinde daha fazla kontrol olanağı sunar. Daha fazla bilgi için Kopyala ve Yapıştır özelliğini ziyaret edin sayfasını ziyaret edin.

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

Tahmini geri gitme hareketi

Android 13, aşağıdaki gibi Android cihazlar için tahmine dayalı geri hareketi sunar: ve katlanabilir cihazlar için de uygundur. Bu özelliği desteklemek için şunları yapmanız gerekir: uygulamanızı güncelleyin.

Ayrıntılı belgeleri görmek için Tahmine dayalı geri ödemeyi destekleyecek şekilde uygulamanızı güncelleme hareket'e dokunun. Şunları da deneyebilirsiniz: codelab makalemize göz atın.

Bluetooth LE Audio

Düşük Enerji (LE) Audio, yerini alacak kablosuz sestir Bluetooth klasik ve belirli kullanım alanları ile bağlantı topolojilerini etkinleştirin. Google Kullanıcıların seslerini arkadaşlarıyla ve aileleriyle paylaşmalarına ve yayınlamalarına olanak tanır veya Bilgi, eğlence veya erişilebilirlik için herkese açık yayınlara abone olma Kullanıcıların akıllı telefon kullanmadan yüksek kaliteli ses almasını sağlamak için tasarlanmıştır. Böylece, pil ömründen tasarruf eder ve farklı kullanımlar arasında kolayca geçiş yapabilir. kullanılması mümkün olmayan kılıflardır. Android 13 sürümünden itibaren yerleşik LE Audio desteği vardır. Böylece geliştiriciler bu özelliklerini ücretsiz olarak ayarlayabilirsiniz.

MIDI 2.0

Android 13'ten itibaren sistem MIDI 2.0 standardını destekler. MIDI 2.0 donanımını USB üzerinden bağlama da dahil. Bu standart denetleyiciler için daha yüksek çözünürlük, cihazlar için daha iyi destek ve Batı harici tonlama ve nota başına kullanıldığında daha iyi performans kontrol eder.

Başlangıç ekranı verimliliği iyileştirmeleri

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

  • Sistem, animasyon süresini doğrudan AnimatedVectorDrawable Android 13'ten önce Doğrudan windowSplashScreenAnimationDuration.

  • Şunlar üzerinde daha fazla kontrol için yeni windowSplashScreenBehavior özelliğini kullanın: Android 13'te uygulamanızın başlangıç ekranında simgeyi her zaman gösterip göstermediği ve daha yüksek olabilir.

Ayrıntılı belgeleri görmek için Başlangıç Ekranları konusuna bakın.

ART optimizasyonları

Android 13 (API düzeyi 33) ve sonraki sürümlerde ART, yerel sürümler arasında geçiş yapmayı sağlar artık 2, 5 kata kadar daha hızlı JNI çağrıları ile daha hızlı kodlanabilir. Çalışma zamanı referansı yeniden işlendikten sonra bunu en az engel teşkil etmeyecek şekilde olumsuzlukları azaltır. Ayrıca, Reference.refersTo() herkese açık bir API kullanarak ulaşılamaz nesneleri daha erken geri alabilir ve çevirmen artık daha hızlı, optimize edilmiş sınıf ve yöntem aramaları sayesinde. ART ayrıca yükleme sırasında daha fazla bayt kodu doğrulaması gerçekleştirir. Böylece, doğrulama ve uygulama başlatma sürelerini hızlı tutma konusunda yardımcı olabilir.

Gizlilik ve güvenlik

Bağlama kayıtlı alıcıları daha güvenli şekilde dışa aktarma

Android 13, çalışma zamanı alıcılarını daha güvenli hale getirmek için belirleme olanağı sunuyor. kayıtlı yayın alıcı dışa aktarılmalı ve cihazdaki diğer uygulamalar tarafından görülebilmelidir. Önceki sürümlerde Android cihazlarda ise cihazdaki herhangi bir uygulama, korunmasız bir yayını alıcı tarafından korunmadığı sürece, imza izni alın.

Bu dışa aktarma yapılandırması, takip etmek için:

Fotoğraf seçici

Android 13 (API düzeyi 33) ve sonraki sürümler fotoğraf seçici sahip olacaksınız. Uygulamanız fotoğraf seçici, kullanıcılar uygulamanızla paylaşılacak belirli resim ve videoları seçer, Örneğin, uygulamanızın tüm bilgileri görüntülemesi için izin vermek yerine, medya kitaplığını kullanabilirsiniz. Kullanıcının fotoğraflarına ve fotoğraf yüklemelerine erişmek için videolar.

Fotoğraf seçici, uygulamanız her zaman gereken çalışma zamanında istenen izinleri beyan etmeniz gerekir. Ek olarak, fotoğraf seçici yerleşik, standartlaştırılmış bir kullanıcı arayüzü ile daha tutarlı bir kullanıcı arayüzü sahip olacaksınız.

Yakındaki kablosuz cihazlar için yeni çalışma zamanında istenen izin

Android 13 (API düzeyi 33), çalışma zamanı iznini Bir cihazın bağlantılarını yöneten uygulamalar için NEARBY_DEVICES izin grubu Kablosuz ağ üzerinden yakındaki erişim noktalarına izin verilir. Bu uygulamaların yeni izni beyan etmesi gerekiyor. NEARBY_WIFI_DEVICES onlar birkaç farklı Wi-Fi API'sini çağırın. Ayrıca, uygulamalar kablosuz ağdan fiziksel konum elde etmedikleri sürece API'leri kullanırken ACCESS_FINE_LOCATION izin vermiştir.

Şu konu hakkında daha fazla bilgi edinin: yakındaki kablosuz cihazlar iznine sahip olduğundan emin olun.

Tam alarm kullanmak için yeni izin

Uygulamanız Android 13 veya sonraki bir sürümü hedefliyorsa şunları kullanabilirsiniz: USE_EXACT_ALARM izni ile birlikte kullanabilirsiniz. Uygulamanızın ancak bu iznin aşağıdakilerden en az birine uygun olması gerekir ölçütler:

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

Uygulamanız tam alarm ayarlıyor ancak açıklamaya devam edin: SCHEDULE_EXACT_ALARM ve kullanıcının uygulamayı reddettiği durumlara karşı hazırlıklı olun. uygulamanıza erişim.

Geliştiricinin düşürülebilir izinleri

Uygulamanız, Android 13'ten itibaren kullanılmayan uygulamalara erişimi iptal edebilir çalışma zamanında istenen izinler hakkında daha fazla bilgi edinin. Bu API uygulamanızın aşağıdakiler gibi gizliliği iyileştiren görevleri gerçekleştirmesine olanak tanır:

  • Kullanılmayan izinleri kaldırın.
  • Kullanıcıların güvenini artıran izinlerle ilgili en iyi uygulamalara uyma İstebilirsiniz kullanıcılara, sahip olduğunuz izinlerin gösterildiği bir iletişim kutusu göstermeyi düşünmeli proaktif olarak iptal edildi.

APK İmza Şeması 3.1 sürümü

Android 13'e eklenen APK İmza Şeması 3.1 sürümü, bu sürümdeki mevcut APK İmza Şeması v3. Bu şema bilinen sorunlardan bazılarını ele alıyor APK İmza Şeması v3 ile birlikte kullanmanız gerekiyor. Özellikle, v3.1 imza şeması, rotasyona izin veren SDK sürüm hedeflemesini destekler. Platformun daha sonraki bir sürümünü hedeflemek

v3.1 imza şeması, 12L veya daha düşük. Bu nedenle, platform aşağıdaki imzalayan davranışı:

  • Android 13 veya sonraki sürümleri çalıştıran cihazlarda rotasyonlu imzalayan kullanılır. v3.1 bloğudur.
  • Android'in daha eski sürümlerini çalıştıran cihazlar dönüşümlü imzalayanı yoksayar ve v3.0 bloğundaki orijinal imzalayanı kullanın.

İmzalama anahtarını henüz döndürmemiş uygulamalar, ek bir işlem gerektirmez. eyleme dökülebilir. Bu uygulamalar dönüşümlü yayınlamayı seçtiğinde, sistem v3.1'i uygular varsayılan ayardır.

Daha önce döndürülmüş ve döndürülmüş imzalama özelliğini kullanmaya devam etmek isteyen uygulamalar anahtarının, sonraki v3.0 imzalama bloğunda apksigner çağrı:

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 küçüktür.

Keystore ve KeyMint'te daha iyi hata raporlama

Anahtar oluşturan uygulamalar için Keystore ve KeyMint artık daha ayrıntılı ve ve doğru hata göstergeleri belirlemelisiniz. Altına istisna sınıfı hiyerarşisi ekledik. java.security.ProviderException (Android'e özgü istisnalarla birlikte): Keystore/KeyMint hata kodları, ve hatanın yeniden denenebilir olup olmadığı gösterilir. Ayrıca anahtar yöntemlerini oluşturma ve kullanma (imzalama, şifreleme) gibi sorumluluklarla ilişkilidir. İlgili içeriği oluşturmak için kullanılan gelişmiş hata raporlama özelliği anahtar oluşturma ile sınırlı değildir ve artık anahtar oluşturmayı yeniden denemek için gerekenler.

Tablet ve büyük ekran desteği

Android 13, Android 12 ve Sistem kullanıcı arayüzü optimizasyonları, daha iyi çoklu görev ve ve iyileştirilmiş uyumluluk modları var. Testiniz kapsamında, uygulamalarınızın tabletlerde ve diğer geniş ekranlı cihazlarda en iyi şekilde görünürler.

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

Grafik

Programlanabilir gölgelendiriciler

Bundan uyarlanan bir AGSL animasyonlu gölgelendirici GLSL Gölgelendirici.

Android 13 sürümünden itibaren sistem, RuntimeShader nesne, Android Grafik Gölgeleme Dili kullanılarak tanımlanan davranış (AGSL). AGSL hisseleri söz diziminin büyük bir kısmını GLSL ile kullanır, ancak resmi özelleştirip Android'in tuvalindeki resmi özelleştirebilirsiniz. Android, bu gölgelendiricileri dahili olarak dalga efektleri, bulanık, ve esneme fazla kaydırma. Android 13 ve sonraki sürümler, kendi fotoğraflarınızda benzer gelişmiş efektler uygulamasını indirin.

Koreograf iyileştirmeleri

Android 13, Choreographer ve ASurfaceControl uygulamalara olası kare zaman çizelgeleri hakkında daha fazla bilgi sağlar ve daha fazla bilgi edinmek için SurfaceFlinger bahsedeceğiz. Önceden olduğu gibi uygulamalar geri aranmak için gönderin Choreographer alanına ekleyin ve kare zaman çizelgesi bilgilerini alın. Android 13 (API) düzey 33), Choreographer birden çok olası sunum zamanı döndürür ve ilgili kare teslim tarihlerini seçin. Uygulamalar sunu zamanını ve ardından SurfaceFlinger adlı kullanıcıya bildirim gönder tercih edebilirsiniz. SurfaceFlinger, daha sonra işlemleri uygulamaya çalışmaz. gereken sunum zamanından önce tamponları kilitleyin.

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

Kamera

HDR video çekimi

Android 13 sürümünden itibaren Kamera2 API'leri Önizlemenizi sağlayan Yüksek Dinamik Aralıklı (HDR) video yakalamayı destekler. ve HDR video içeriği kaydedebilirsiniz. Standart Dinamik ile karşılaştırıldığında Aralık (SDR), HDR daha geniş bir renk aralığı sunar ve dinamik aralığı artırır. (mevcut 100 cd/m2'den 1000 sn. cd/m2'ye kadar). Bu sayede, video kalitesi gerçek yaşamla daha yakından eşleşir ve daha zengindir. renkler, daha parlak parlak alanlar ve daha koyu gölgeler.

HDR video çekimi hakkında daha fazla bilgi edinmek için HDR video çekimi belgeleri.

Medya

Üç boyutlu ses

Üç boyutlu ses, medya içeriklerinde ses sağlayan etkileyici bir ses deneyimidir uygulamanızı sağlar. Üç boyutlu ses dokümanlarına göz atabilirsiniz.

Beklenen ses yönlendirme

Medya uygulamalarının, seslerinin nasıl yönlendirileceğini tanımlamasına yardımcı olmak için Android 13 ses rotası API'lerini AudioManager sınıfı. İlgili içeriği oluşturmak için kullanılan getAudioDevicesForAttributes() API, şunu oynatmak için kullanılabilecek cihazların bir listesini almanızı sağlar: ve getDirectProfilesForAttributes() API, ses yayınınızın doğrudan oynatılıp oynatılamayacağını anlamanıza yardımcı olur. Tekliflerinizi otomatikleştirmek ve optimize etmek için bu API'leri kullanarak en iyi Ses için kullanmak üzere AudioFormat plan yapar ve değişiklikleri uygular.

Erişilebilirlik

Sesli açıklama

Android 13 (API düzeyi 33), sistem genelinde yeni bir erişilebilirlik tercihi sunuyor Bu özellik, kullanıcıların tüm uygulamalarda sesli açıklamaları etkinleştirmesine olanak tanır. Ses açıklama, anlatıcının konuştuğu ek bir anlatım parçasıdır sunum boyunca ekranda neler olduğunu açıklayarak doğal duraklamalar anlamına gelir. Uygulamalar, kullanıcıların sesli açıklama parçalarıyla ilgili tercihlerine isAudioDescriptionRequested() ile sorgulanırsa aşağıdaki kod snippet'inde gösterildiği gibidir:

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:

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 Java 11 dili içeren OpenJDK 11 LTS sürümü uygulama ve platform geliştiricileri için destek. Temel kitaplık değişiklikleri Android 12 cihazlarda da kullanıma sunulacak. ART Mainline Modülü'ne Google Play sistem güncellemesi.

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

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

    • isBlank()
    • lines()
    • repeat()
    • strip()
    • stripLeading()
    • stripTrailing()
  • Kullanıcı tarafından uyarlamayı kolaylaştırmak için Collection.toArray(IntFunction) desteği koleksiyonundan bir diziye dönüştürülebilir.

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

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

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

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

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

  • Yeni transferTo(), readNBytes(), readAllBytes() ve writeBytes() ByteArrayInput veya OutputStream ve Input için işlevler veya OutputStream.

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

  • java.util.concurrent öğesini dahili olarak VarHandle kullanarak OpenJDK 11 API'ye günceller.

Java ve OpenJDK, Oracle ve/veya Oracle ve/veya satış ortakları.