Android 12, geliştiriciler için muhteşem yeni özellikler ve API'ler sunar. Aşağıdaki bölümler, uygulamalarınız için özellikler hakkında bilgi edinmenize ve kullanmaya başlamanıza yardımcı olur ilgili API'lerle uyumludur.
Yeni, değiştirilmiş ve kaldırılmış API'lerin ayrıntılı listesi için API farklarını okuyun raporu ekleyin. Yeni API'larla ilgili ayrıntılar için Android API referansı: Yeni API'ler görünürlük için vurgulanmaktadır. Ayrıca, Platform değişikliklerinin uygulamalarınızı etkileyebileceği alanlar hakkında bilgi edinmek için Android 12 davranış değişikliklerini Google Ads'i Android 12 ve herkes için uygulamalar.
Kullanıcı deneyimi
Material You
Android 12, Materyal adlı yeni bir tasarım dili sunuyor Siz, daha kişiselleştirilmiş, birbirinden güzel uygulamalar. En son Materyal Tasarım 3'ün özelliklerini sunmak için güncellemeleri almak için Materyal Tasarım'ın alfa sürümünü deneyin Bileşenler.
Widget iyileştirmeleri
Android 12, kullanıcıyı ve geliştiriciyi iyileştirmek için mevcut Widgets API'yi yeniliyor konusunda daha büyük bir deneyime sahip. Size yardımcı olmak için bir kılavuz oluşturduk widget'ınızın Android 12 ile uyumlu olduğundan emin olun ve widget'ı yeni özellikleri.
Aşağıdakiler için Android 12 widget iyileştirmelerini inceleyin: daha fazla bilgi edinin.
Zengin içerik ekleme
Android 12, uygulamanızın tüm cihazlarda kullanılabilmesini sağlayan yeni birleşik API'yi kullanıma sunuyor. mevcut herhangi bir kaynaktan zengin içerik alabilirsiniz: pano, klavye veya sürükleme ve düş.
Daha fazla bilgi için Zengin alma içerik.
Uygulama başlangıç ekranları API'si
Android 12, tüm uygulamalar için yeni bir uygulama başlatma animasyonu sunar. başlangıç noktasından uygulamaya hareket ediyor, uygulama simgesini gösteren bir başlangıç ekranı ve uygulamanın kendisine geçiş. Başlangıç ekranı geliştiricisine göz atın rehberini inceleyin.
Yuvarlatılmış köşe API'leri
Android 12, RoundedCorner
ile tanışın
ve WindowInsets.getRoundedCorner(int
position)
,
yuvarlak köşeler için yarıçap ve merkez noktası sağlar.
Daha fazla bilgi için Yuvarlak köşeler başlıklı makaleye bakın.
Zengin dokunma teknolojisi deneyimleri
Android 12, kullanıcı arayüzü için bilgilendirici dokunsal geri bildirim oluşturma araçlarının kapsamını genişletiyor oyunlar için sürükleyici ve keyifli efektler ve verimlilik.
Aktüatör etkileri
Android 12, düşük bütçe ve düşük bütçe gibi işaretleyin en yeni aktüatörlerin daha geniş frekans bant genişliğinden yararlanmalıdır. Oyun geliştiriciler artık birçok farklı aktüatörler oyun içinde bağımsız olarak eşzamanlı olarak aynı efekti veya farklı dokunma efektlerini sunan denetleyiciler birçok aktüatörde çalışır. Geliştiriciler şunu kullanmalıdır: Sabit değerler ve temel öğelerini zengin dokunma teknolojisi efektleri için yapı taşları - kullanıcı arayüzü etkinliklerini geliştiren sabitler ve dokunsal besteciden diziye temel öğeleri kullanır. Bu API'leri Pixel 4'te deneyebilirsiniz cihaz üreticisi iş ortaklarımızla birlikte çalışmaya devam ediyoruz. en son dokunma teknolojisi desteği ile çalışıyoruz.
Ses bağlantılı dokunma teknolojisi
Android 12 uygulamaları, aşağıdakileri kullanarak sesli oturumdan elde edilen dokunsal geribildirim oluşturabilir: telefonun titreşimi. Bu sayede daha sürükleyici bir oyun ve oyunlar için ses deneyimi. Örneğin, dokunma teknolojisiyle geliştirilmiş zil sesleri, araç arayanlar veya sürüş oyunu, çetin arazi hissini simüle edebilir.
HapticGenerator
sayfasını inceleyin.
referans dokümanlara bakabilirsiniz.
Uygulama Araması
Android 12, cihaz üzerinde yüksek performanslı arama motoru olan AppSearch'ü kullanıma sunuyor. ilk adımıdır. AppSearch, uygulamaların yapılandırılmış verileri dizine eklemesine olanak tanır ve yerleşik tam metin arama özellikleriyle arama yapabilirsiniz. Ayrıca, AppSearch, yüksek verimli dizine ekleme gibi yerel arama özelliklerini destekler ve alaka düzeyi sıralamasına güç katar.
AppSearch iki farklı şekilde sunulur: uygulamanızın kullanması için yerel bir dizin Android'in eski sürümleriyle uyumlu olan veya merkezi bir dizin . Ortadaki endeksi kullanarak uygulaması, verilerinin sistem arayüzü yüzeylerinde görüntülenmesine izin verebilir. sistemin önceden yüklenmiş Intelligence bileşeni Tam olarak hangi verilerin alındığı sistem kullanıcı arayüzü yüzeylerinde hangi reklamların gösterileceği OEM'e bağlıdır. Ayrıca, diğer uygulamalarla güvenli bir şekilde veri paylaşarak bu uygulamaların diğer uygulamalarla bu verileri de arayabilirsiniz.
AppSearch hakkında daha fazla bilgi edinmek için: geliştirici kılavuzunu inceleyin ve AppSearch Jetpack kitaplığı'nı geliştirici dostu bir API yüzeyi ve ek açıklama işlemcisi sunar. destek.
Oyun Modu
Oyun Modu API'si ve Oyun Modu Müdahaleler, işletmeniz için performans veya pil ömrü gibi özelliklere öncelik vererek oynanabilirlik kullanıcı ayarlarına veya oyuna özgü yapılandırmalara göre düzenleyebilirsiniz.
Daha fazla bilgi için Oyun Modu başlıklı makaleyi inceleyin.
Pencere içinde pencere (PIP) önerileri ve iyileştirmeleri
Android 12'de, PiP modu için aşağıdaki iyileştirmeler kullanıma sunuluyor:
Yeni PiP hareketleri desteği
Android 12 artık saklama ve yakınlaştırmak için sıkıştırmayı destekliyor. PiP için hareketler pencere:
Kullanıcı, pencereyi saklamak için sola veya sağa sürükleyebilir kenar. Pencerenin kilidini açmak için kullanıcı, pencerenin görünür bölümüne pencereyi güvenli bir yere götürün.
Kullanıcı artık yakınlaştırmak için sıkıştırma özelliğini kullanarak PiP penceresini yeniden boyutlandırabilir.
Şık bir PiP geçiş deneyimini destekleyen önerilen yeni özellikler
Android 12'ye önemli görsel iyileştirmeler eklendi animasyonlu tam ekran ve PiP pencereler arasındaki geçişleri gösterir. Önerilerimiz: geçerli tüm değişiklikleri uygulama; Bir kez yaptıktan sonra bu değişiklikler katlanabilir cihazlar ve tablet gibi büyük ekranlara otomatik olarak ölçeklenir. geri bildirim gönderebilirsiniz.
Bu özellikler şunlardır:
Hareketle gezinme ile PiP moduna daha akıcı bir geçiş için yeni bir API işareti
setAutoEnterEnabled
'ı kullanma ana sayfaya doğru kaydırırken PiP moduna daha yumuşak geçişler sağlamak için flag'i işaretleyin hareketle gezinme moduna girer. Daha önce Android, ana ekrana doğru kaydırma özelliğini bekliyordu. animasyonunun bitişini tamamlayın:PIP moduna girerken ve bu moddan çıkarken daha akıcı animasyonlar
SourceRectHint
bayrak, giriş ve çıkış sırasında daha yumuşak bir animasyon uygulamak için artık yeniden kullanılıyor PiP modu.Video olmayan içerik için sorunsuz yeniden boyutlandırmayı devre dışı bırakan yeni bir API işareti
SeamlessResizeEnabled
flag, video olmayan öğeleri yeniden boyutlandırırken çok daha yumuşak bir geçiş animasyonu PiP penceresindeki içeriği kapsıyor. Önceden, video dışındaki içerikleri PiP'de yeniden boyutlandırma rahatsız edici görsel yapılar oluşturabilir.
Gelen aramaların önem derecesini sıralamaya olanak tanıyan yeni telefon araması bildirimleri
Android 12'ye yeni bildirim stili eklendi
Notification.CallStyle
telefon aramaları için. Bu şablonu kullanmak, uygulamanızda projenizin önemini
saati gösteren belirgin bir çip görüntüler.
durum çubuğu; kullanıcı, görüşmesine dönmek için bu çipe dokunabilir.
Gelen ve devam eden aramalar kullanıcılar için en kritik öneme sahip olduğundan, en üst sırada gölgede yer alır. Bu sıralama aynı zamanda aramaları başka cihazlara iletmenizi sağlamak
Tüm çağrı türleri için aşağıdaki kodu uygulayın.
Kotlin
// Create a new call with the user as caller. val incoming_caller = Person.Builder() .setName("Jane Doe") .setImportant(true) .build()
Java
// Create a new call with the user as caller. Person incoming_caller = new Person.Builder() .setName("Jane Doe") .setImportant(true) .build();
forIncomingCall()
kullanın
simgesine dokunun.
Kotlin
// Create a call style notification for an incoming call. val builder = Notification.Builder(context, CHANNEL_ID) .setContentIntent(contentIntent) .setSmallIcon(smallIcon) .setStyle( Notification.CallStyle.forIncomingCall(caller, declineIntent, answerIntent)) .addPerson(incoming_caller)
Java
// Create a call style notification for an incoming call. Notification.Builder builder = Notification.Builder(context, CHANNEL_ID) .setContentIntent(contentIntent) .setSmallIcon(smallIcon) .setStyle( Notification.CallStyle.forIncomingCall(caller, declineIntent, answerIntent)) .addPerson(incoming_caller);
forOngoingCall()
kullanın
seçeneğini kullanın.
Kotlin
// Create a call style notification for an ongoing call. val builder = Notification.Builder(context, CHANNEL_ID) .setContentIntent(contentIntent) .setSmallIcon(smallIcon) .setStyle( Notification.CallStyle.forOnGoingCall(caller, hangupIntent)) .addPerson(second_caller)
Java
// Create a call style notification for an ongoing call. Notification.Builder builder = Notification.Builder(context, CHANNEL_ID) .setContentIntent(contentIntent) .setSmallIcon(smallIcon) .setStyle( Notification.CallStyle.forOnGoingCall(caller, hangupIntent)) .addPerson(second_caller);
forScreeningCall()
kullanın
simgesine dokunun.
Kotlin
// Create a call style notification for screening a call. val builder = Notification.Builder(context, CHANNEL_ID) .setContentIntent(contentIntent) .setSmallIcon(smallIcon) .setStyle( Notification.CallStyle.forScreeningCall(caller, hangupIntent, answerIntent)) .addPerson(second_caller)
Java
Notification.Builder builder = Notification.Builder(context, CHANNEL_ID) .setContentIntent(contentIntent) .setSmallIcon(smallIcon) .setStyle( Notification.CallStyle.forScreeningCall(caller, hangupIntent, answerIntent)) .addPerson(second_caller);
Bildirimler için zenginleştirilmiş resim desteği
Android 12'de artık uygulamanızın bildirim deneyimini zenginleştirmek için
MessagingStyle()
'te animasyonlu resimler sağlama
ve BigPictureStyle()
bildirimleri etkinleştirebilirsiniz. Ayrıca, uygulamanız artık kullanıcıların
mesajlara bildirim gölgesinden yanıt verirler.
Hareketle gezinme için yoğun içerik modu iyileştirmeleri
Android 12, kullanıcıların aşağıdakileri daha kolay yapabilmesini sağlamak için mevcut davranışları birleştirir: kapsamlı moddayken hareketle gezinme komutlarını gerçekleştir mod'u seçin. İçinde Ayrıca, Android 12 yapışkan etiketler için geriye dönük uyumluluk gerçekçi deneyim mod'u seçin.
Son kullanılanlar URL paylaşımı (yalnızca Pixel)
Pixel cihazlarda kullanıcılar artık son görüntülenen web içeriklerinin bağlantılarını paylaşabilir arama yapabilirsiniz. Kullanıcı, bir uygulamadaki içeriği ziyaret ettikten sonra Son Kullanılanlar ekranına kaydırıp içeriği görüntülediği uygulamayı bulabilir. ve URL'yi kopyalamak veya paylaşmak için bağlantı düğmesine dokunun.
Daha fazla bilgi için Son kullanılanlar URL'sini etkinleştirme bölümüne bakın. paylaşım.
Güvenlik ve gizlilik
Gizlilik Kontrol Paneli
Android 12 veya sonraki bir sürümü çalıştıran desteklenen cihazlarda Gizlilik Sistem ayarlarında kontrol paneli ekranı görünür. Kullanıcılar bu ekrandan uygulamalar konuma, kameraya ve mikrofona eriştiğinde gösterilen ayrı ekranlar ekleyebilirsiniz. Her ekranda, farklı uygulamaların bir yardımcı olabilir. Şekil 1, konum için veri erişimi zaman çizelgesini göstermektedir ekleyebilirsiniz.
Uygulamanız, talebi kullanıcılar Böylece uygulamanızın konum, kamera veya mikrofona neden eriştiğini anlayabilirler. ekleyebilirsiniz. Bu gerekçe yeni Gizlilik Kontrol Paneli ekranında görünebilir. veya her ikisini birden ayarlayabilirsiniz.
Bluetooth izinleri
Android 12,
BLUETOOTH_SCAN
BLUETOOTH_ADVERTISE
,
ve
BLUETOOTH_CONNECT
izin verir. Bu izinler, hedef kitleyi hedefleyen
Android 12'yi Bluetooth ile etkileşimde bulunmak için kullanma
Android cihazlarda, özellikle de
cihaz konumuna erişmesi lazım.
Uygulamanızın Bluetooth izin beyanlarını güncelleme
Cihazınızı Android 12 veya sonraki bir sürümü hedeflemeye hazırlamak için güncelleyin: her şeyi öğreteceğim. Eski bir Bluetooth grubu belirtmek yerine izin, daha modern bir Bluetooth seti beyan etmek izinleri hakkında daha fazla bilgi edinin.
İzin grubu araması
Android 12 veya sonraki sürümlerde sistemin nasıl organize olduğunu sorgulayabilirsiniz. izinleri izin grupları:
- Sistemin yerleştirdiği izin grubunu belirlemek için
platform tanımlı izin, çağrı
getGroupOfPlatformPermission()
. - Sistemin yerleştirdiği platform tanımlı izinleri belirlemek için
belirli bir izin grubu için
getPlatformPermissionsForGroup()
.
Uygulama yer paylaşımlı pencereleri gizle
Geliştiricilere,
Android 12'de gizli ve basit bir şekilde
içeren uygulamalar tarafından çizilen bindirme pencereleri
SYSTEM_ALERT_WINDOW
izni gerekir.
Şunu beyan ettikten sonra:
HIDE_OVERLAY_WINDOWS
izni olmadan
setHideOverlayWindows()
tüm türlerin bu tür pencerelerin
TYPE_APPLICATION_OVERLAY
uygulamanın kendi penceresi görünür olduğunda gizlenmelidir. Uygulamalar,
bu seçeneği kontrol edin.
TYPE_APPLICATION_OVERLAY
türünde pencereler gösteren uygulamalar şunu düşünmelidir:
kullanım alanlarına daha uygun olabilecek alternatifler
pencere içinde pencere veya
baloncuk.
Bilinen imzalayanlar izni koruması işareti
Android 12'den itibaren
knownCerts
özelliği için
imza düzeyinde izinler
bilinen imzalama özetlerine
sertifika beyanı
gerekir.
Uygulamanız bu özelliği beyan edebilir ve izin vermek için knownSigner
işaretini kullanabilir
diğer kullanıcılara imza izinleri veren diğer cihazlara imza izni veren
uygulamalarda,
sırasında uygulamaları imzalamak zorunda değiller.
Cihaz özellikleri onayı
Android 12, aşağıdaki özelliklere sahip cihaz özelliklerini doğrulayabilen uygulama grubunu genişletir: onay belgesinde yer alıyor sertifika bu uygulamalar yeni bir anahtar oluşturduğunda.
Android 9 (API düzeyi 28) sürümünden itibaren, cihaz politikası
sahip (DPO)
Keymaster 4.0 veya sonraki sürümler
bu onay sertifikalarındaki cihaz özelliklerini doğrular. Başlamak için kalan süre:
Android 12, Android 12 (API düzeyi 31) veya sonraki sürümleri hedefleyen tüm uygulamalar performans gösterebilir.
bu doğrulamayı
setDevicePropertiesAttestationIncluded()
yöntemidir.
Oluşturulan cihaz özellikleri şunları içerir:
Build
alanları:
BRAND
DEVICE
MANUFACTURER
MODEL
PRODUCT
Güvenli kilit ekranı bildirim işlemleri
Android 12'den itibaren Notification.Action.Builder
sınıfı
şunları destekler:
setAuthenticationRequired()
Bu yöntem, uygulamanızın cihazın şu anda çalışmasını
kilidi açık
uygulamanız belirli bir bildirim işlemini çağırmadan önce Bu yöntem,
kilitli cihazlardaki bildirimler için ek güvenlik katmanı.
BiometricPrompt için yerelleştirilebilir dizeler
Android 12, uygulamanızın biyometrisini iyileştirmenize yardımcı olacak yeni API'leri kullanıma sunuyor.
kullanıcı deneyimi için kimlik doğrulama yöntemidir. Yeni BiometricManager.Strings
iç içe yerleştirilmiş sınıf şunları içerir: getButtonLabel()
,
getPromptMessage()
,
ve getSettingName()
Bu yöntemler, uygulamanızın kullanıcı tarafından okunabilir ve yerelleştirilmiş bir düğme etiketi almasını sağlar.
uygulama ayarı adını seçin. Daha kesin sonuçlar elde etmek için bu etiketleri
biyometrik kimlik doğrulama için kullanıcıya yönelik talimatlar
"Yüz tanıma kilidi kullan" veya "Devam etmek için parmak izinizi kullanın" gibi yöntemler kullanılır.
Mesajlaşma uygulamalarında kimlik avını algılama (yalnızca Pixel)
Desteklenen Pixel cihazlarda Android 12, mesajlarda kimlik avı algılamayı çalıştırır en popüler mesajlaşma uygulamalarında sunulur. Sistem, cihaz üzerinde makine öğrenimini kullanır güvenlik açıklarından yararlanmalı. Güvenlik algılandığında sistem, yer paylaşımlı reklamlar vardır. Örneğin, kimlik avı algılaması kullanıcıları şu potansiyel riskler konusunda uyarabilir:
- Kod, para vb. gönderme gibi şüpheli istekler
- Güvenilmeyen URL'ler
- Kötü amaçlı ekler
- Kötü amaçlı uygulamalara yönlendiren bağlantılar
Yer paylaşımı, kullanıcıyı uyarmanın yanı sıra, sağlayabilir ve sistem tarafından gönderilen uyarılar hakkında geri bildirim sağlayabilirsiniz.
Geliştiriciler, aşağıdakileri içeren yeni bir meta veri etiketi ekleyerek bu özelliğin kapsamı dışında kalmayı seçebilirler:
Uygulama manifest'inde com.google.android.ALLOW_PHISHING_DETECTION
dizesi
dosyası olarak da kaydedebilir. Örnek:
<manifest>
<application android:name="com.messagingapp">
<meta-data android:name="com.google.android.ALLOW_PHISHING_DETECTION" android:value="false" />
</application>
</manifest>
Medya
Uyumlu medya kodu dönüştürme
Sistem, Android 12'den (API düzeyi 31) itibaren kod dönüştürme işlemini otomatik olarak yapabilir. HEVC(H.265) ve HDR (HDR10 ve HDR10+) AVC'ye (H.264) kaydedilen videolar. standart oynatıcılarla uyumludur. Bu komut, aşağıdaki durumlarda modern codec'lerden yararlanır: eski uygulamalarla uyumluluktan ödün vermeden kullanılabilirler.
Daha fazla ayrıntı için uyumlu medya kodu dönüştürme bölümüne bakın.
Performans sınıfı
Android 12, performans sınıfı adlı bir standart sunuyor. CEVAP performans sınıfı, Android'in temel çizgisinin ötesindeki donanım özelliklerini belirtiyor gereksinimlerini karşılayın. Her Android cihaz, içerdiği performans sınıfını belirtir destekler. Geliştiriciler çalışma zamanında cihazın performans sınıfını kontrol edebilir ve cihazın sunduğu özelliklerden en iyi şekilde yararlanarak geliştirilmiş deneyimler sunmak için özellikler.
Performans sınıfı sayfasını inceleyin. inceleyebilirsiniz.
Video kodlama iyileştirmeleri
Android 12, kontrol etmek için standart bir anahtar grubu tanımlar. video kodlaması için niceleme parametresi (QP) değeri. Bu, geliştiricilerin kodlardan kaçının.
Yeni anahtarlar şurada kullanılabilir:
MediaFormat
API
Ayrıca
NDK Medya kitaplığı.
Android 12 video kodlayıcılarda minimum kalite uygulanır. eşikler. Bu da kullanıcıların çok düşük kalite sorunu yaşamamasını sağlar. en yaygın olarak kullanılır.
Ses odağı
Android 12'den (API düzeyi 31) itibaren bir uygulama, ses odaklama isteği gönderdiğinde başka bir uygulama odaklanıyor ve oyun devam ediyorsa sistem, oyun uygulamasını yavaş yavaş kapatıyor.
Android 12 ve sonraki sürümlerde ses odağı başlıklı makaleye göz atın. inceleyebilirsiniz.
MediaDrm güncellemeleri
Güvenli bir kod çözücü bileşeninin
mevcut MediaDrm
API'leri kullanmak istemiyorsanız şu adımları uygulamanız gerekir:
MediaDrm
oluşturun.- Oturum kimliğini almak için bir oturum açın.
- Oturum kimliğini kullanarak bir
MediaCrypto
oluşturun. - Şu numaraya telefon et:
MediaCrypto.requiresSecureDecoderComponent(mimeType)
.
Yeni yöntemlerle requiresSecureDecoder(@NonNull String mime)
ve
requiresSecureDecoder(@NonNull String mime, @SecurityLevel int level)
bunu bir MediaDrm
oluşturduktan hemen sonra belirleyebilirsiniz.
Kamera
Camera2 tedarikçi firma uzantıları
Cihaz üreticisi iş ortaklarımızın çoğu, özel kamera uzantıları oluşturmuştur. Örneğin, (ör. Bokeh, HDR, Gece modu vb.) içerik oluşturmak için uygulamaların kullanmasını farklı deneyimler sunmak istiyoruz. KameraX kitaplığının zaten desteklediği sağlayıcı var. Android 12'de bu Tedarikçi firma uzantıları artık doğrudan platformda sunuluyor.
Bu sayede, karmaşık yapısı olan
Camera2
uygulamalar, herhangi bir sözleşme söz konusu olmadan
eski kodda önemli değişiklikler var. Camera2 uzantı API'leri tam olarak
aynı grubun
uzantıları
ve bunlar halihazırda birçok farklı kamerada desteklenmektedir
sağlar. Böylece onları telefon veya tablet
ek yapılandırma.
Daha fazla bilgi için bkz.
CameraExtensionCharacteristics
.
Quad bayer kamera sensörü desteği
Günümüzde birçok Android cihaz, ultra yüksek çözünürlüklü kamera sensörleri ve genelde Quad veya Nona Bayer modelleridir ve bunlar, çalışma pozisyonunda açısından iyi bir seçimdir. Android 12 Üçüncü taraf uygulamalarının bu çok yönlü yaklaşımdan tam anlamıyla yararlanmasını sağlayan platform API'leri olabilir. Yeni API'ler sensörlerin benzersiz davranışlarını desteklemeli ve bu sensörlerin farklı akış yapılandırmalarını ve kombinasyonlarını destekleyebilir. tam çözünürlük veya "maksimum çözünürlük" modu ile "varsayılan" mod karşılaştırması.
Grafikler ve resimler
Uygulamaların mezar kalıntılarına doğrudan erişmesine izin ver
Android 12'den itibaren uygulamanızın yerel kilitlenme mezar taşına şu şekilde erişebilirsiniz:
protokol arabelleğine
ApplicationExitInfo.getTraceInputStream()
yöntemidir. Protokol arabelleği, bu şema kullanılarak serileştirilir.
Daha önce bu bilgilere ulaşmanın tek yolu
Android Debug Bridge (adb).
Daha fazla bilgi için Uygulamalara mezar taşı izlerine doğrudan erişim izni verme başlıklı makaleyi inceleyin.
AVIF görsel desteği
Android 12, AV1 resim dosyası biçimini kullanan resimler için destek sağlıyor (AVIF). AVIF, kodlanmış görüntü ve görüntü dizileri için bir kapsayıcı biçimidir. kullanıyor. AVIF, videodaki kare içi kodlanmış içerikten yararlanıyor. sağlayabilirsiniz. Bu işlem, aynı dosya boyutu için resim kalitesini önemli ölçüde iyileştirir eski resim biçimleriyle (ör. JPEG) karşılaştırıldığında Daha ayrıntılı bilgi için hakkında daha fazla bilgi edinmek için Jake Archibald'ın blog yayın.
Daha kolay bulanıklaştırma, renk filtreleri ve diğer efektler
Android 12, yeni RenderEffect
sürümünü ekler.
bulanıklaştırma, renk filtresi, Android gölgelendirici gibi yaygın grafik efektleri uygulayan
efektler ve diğer öğeler View
oluşturmayı öğreneceksiniz. Efektler, zincir efekt olarak birleştirilebilir.
(bunlar iç ve dış efekt oluşturur) veya karışık efektler içerir. Farklı Android
cihazlar, sınırlı işlem gücü nedeniyle özelliği destekleyebilir veya desteklemeyebilir.
Efektler, temel RenderNode
öğesine de uygulanabilir.
View.setRenderEffect(RenderEffect)
numaralı telefonu arayarak View
sn. için.
RenderEffect
uygulamak için:
view.setRenderEffect(RenderEffect.createBlurEffect(radiusX, radiusY, SHADER_TILE_MODE))
Yerel animasyonlu resim kodu çözme
Android 12'de NDK,
ImageDecoder
API genişletildi
resimlerden tüm karelerin ve zamanlama verilerinin kodunu çözmek için
Bu reklamlar, animasyonlu GIF ve
animasyonlu WebP dosya biçimleri. Zaman
Bu API, Android 11'de kullanıma sunulan ilk resmin kodunu çözmüş:
animasyonları kullanır.
APK'yı daha fazla azaltmak için üçüncü taraf kitaplıklar yerine ImageDecoder
kullanın
beden
güvenlik ve performansla ilgili gelecekteki güncellemelerden
yararlanabilirsiniz.
API hakkında daha fazla bilgi için API referansına ve GitHub'daki örneğe bakın.
Bağlantı
Tamamlayıcı uygulamaları açık tutma
Cihazı yönetmek için tamamlayıcı uygulamaların çalışmaya devam etmesi gerekir. Android 12, aşağıdakileri yapan API'ler sunar:
- Kapsama alanında bir tamamlayıcı cihaz olduğunda uygulamayı uyandırmanıza olanak tanır.
- Cihaz belirtilen değer içinde kalırken işlemin çalışmaya devam edeceğini garanti eder. aralığı.
API'leri kullanmak için cihazlarınızın Companion Device kullanılarak bağlanmış olması gerekir
Yönetici. Daha fazla
bkz.
CompanionDeviceManager.startObservingDevicePresence()
ve
CompanionDeviceService.onDeviceAppeared()
.
Companion Cihaz Yöneticisi profilleri
Android 12 (API düzeyi 31) ve sonraki sürümlerdeki iş ortağı uygulamaları, tamamlayıcı cihazı kullanabilir profil oluşturabilirsiniz. Profil kullanmak kayıt işlemini kolaylaştırır gruplayarak bir cihaz türüne özel izin grubu tek bir adımda takip edebilirsiniz.
Gruplandırılmış izinler, cihaz bir kez tamamlayıcı uygulamaya verilir. bağlanır ve yalnızca cihaz ilişkilendirildiğinde geçerli olur. Uygulamayı silme veya İlişkilendirme kaldırıldığında izinler de kaldırılır.
Daha fazla bilgi için bkz.
AssociationRequest.Builder.setDeviceProfile()
.
Bant genişliği tahmini iyileştirmeleri
Android 12'de bant genişliği tahmin özellikleri,
getLinkDownstreamBandwidthKbps()
ve
getLinkUpstreamBandwidthKbps()
hem kablosuz hem de hücresel bağlantı için iyileştirildi. Şu anda döndürülen değerler
kullanıcının operatör veya kablosuz ağ başına tüm zamanlar ağırlıklı ortalama işleme hızını temsil eder
Cihazdaki tüm uygulamalarda SSID, ağ türü ve sinyal düzeyi.
Bu sayede, beklenen işleme hızına ilişkin daha doğru ve gerçekçi bir tahmin elde edebilirsiniz.
başvurunuzun baştan başlatılmasıyla ilgili tahminler sunar ve daha az döngü gerektirir.
.
Wi-Fi Aware (NAN) geliştirmeleri
Android 12, Wi-Fi Aware'e bazı geliştirmeler ekler:
- Android 12 (API düzeyi 31) ve sonraki sürümleri çalıştıran cihazlarda
Uygulamanız, keşfedilen bir hizmeti aşağıdaki nedenlerle kaybettiğinde uyarı almak için
onServiceLost()
geri arama durması veya kapsama alanının dışına çıkması gibi bir durum söz konusu. - Birden fazla veri yolunun (NAN Veri Yolları) ayarlanma şekli daha verimli hale getirebilirsiniz. Önceki sürümlerde benzerlerle değiş tokuş yapmak için L2 mesajlaşması kullanılıyordu başlatanların bilgileri, buna bağlı olarak da gecikme yaşanır. Çalışan cihazlarda Android 12 ve sonraki sürümler, yanıtlayıcı (sunucu) yapılandırılabilir. diğer bir deyişle, bir akranı tanıması gerekmez, en baştan başlayalım. Bu, veri yolunun açılmasını hızlandırır ve birden fazla yalnızca tek bir ağ isteği olan noktadan noktaya bağlantılar.
- Çerçevenin zaman içindeki keşif veya bağlantı isteklerini reddetmesini önlemek için
Android 12 ve sonraki sürümleri çalıştıran cihazlarda
kaynakların tükenmesi
telefon edebilir
WifiAwareManager.getAvailableAwareResources()
. Bu yöntemin döndürülen değeri, mevcut veri sayısını elde etmenizi sağlar yollarını, kullanılabilir yayınlama oturumlarının sayısını ve kullanılabilir abone oturumları.
Eşler arası eş zamanlı + İnternet bağlantısı
Android 12 (API düzeyi 31) ve sonraki sürümleri hedefleyen cihazlar,
donanım desteği, Eşler arası
bağlantınızın kesilmesine
mevcut kablosuz bağlantıya sahip olduğundan emin olun. Alıcı:
bu özelliğin desteklenip desteklenmediğini kontrol etmek için
WifiManager.isMultiStaConcurrencySupported()
.
NFC ödemeleri için ekran kapatmayı etkinleştir
Android 12 ve sonraki sürümleri hedefleyen uygulamalarda NFC'yi etkinleştirebilirsiniz
cihazın ekranı kapalıyken yapılan ödemeleri
requireDeviceScreenOn
-
false
. Ekran kapalıyken veya kilitliyken NFC ödemeleriyle ilgili daha fazla bilgi için bkz.
Ekran kapalı ve kilit ekranı
gösterir.
Depolama
Android 12'de aşağıdaki depolama alanı yönetimi özelliği kullanıma sunuldu özellikler:
- Uygulamanız alındığında
MediaDocumentsProvider
için medya mağazası desteği belirtilen belge sağlayıcıya eş değer medya URI'si URI'yi tıklayın. - voice için bir dizin kayıtları başlıklı makaleyi inceleyin.
MANAGE_MEDIA
Bu izin, uygulamanın medya yönetimi yapmasına izin verir. işlemler kullanıcıya onay iletişim kutusu göstermeyerek- Hem
MANAGE_EXTERNAL_STORAGE
veQUERY_ALL_PACKAGES
izni (örneğin, dosya yönetimi uygulamaları) özel bir etkinlik diğer uygulamanın oluşturulması kaydıyla, depolama alanını yönetmek için özel etkinlik.
Temel işlevler
Otomatik uygulama güncellemeleri
Android 12,
setRequireUserAction()
yöntemini kullanan
PackageInstaller
API.
Bu yöntem, yükleyici uygulamalarının
tıklayın.
Cihaz yonga seti bilgileri
Android 12, android.os.Build
işlevine, kullanıcıların
SoC yonga seti tedarikçisi ve model bilgilerini SDK aracılığıyla gönderebilirsiniz. Bunu alabilirsiniz
Build.SOC_MANUFACTURER
ve Build.SOC_MODEL
numaralı telefonu arayarak daha fazla bilgi edinin
tıklayın.
Temel Java API'lerinde yapılan güncellemeler
Geliştiricilerle yaptığımız ortak çalışmalara ve isteklere dayanarak aşağıdakileri ekledik Android 12'deki temel kitaplıklar:
Sınıf | API'ler |
---|---|
java.lang.Deprecated
|
|
java.lang.Byte
|
|
java.lang.Short
|
|
java.lang.Math
|
|
java.lang.StrictMath
|
|
java.util.Set
|
copyOf()
|
java.util.Map
|
copyOf()
|
java.util.List
|
copyOf()
|
java.time.Duration
|
|
java.time.LocalTime
|