Özelliklere ve API'lere Genel Bakış

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.

Material You

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'te dizine ekleme ve aramayı gösteren şema

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.

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:

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

Dikey zaman çizelgesinde,
         konum bilgilerine erişildi ve erişimlerin ne zaman gerçekleştiği
Şekil 1. Konum kullanım ekranı, Gizlilik'in bir parçası 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ı:

ziyaret edin.

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)

Şüpheli bir mesaj olduğunda kullanıcı buna benzer bir mesaj görür tespit edilir.

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:

  1. MediaDrm oluşturun.
  2. Oturum kimliğini almak için bir oturum açın.
  3. Oturum kimliğini kullanarak bir MediaCrypto oluşturun.
  4. Ş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

Aşağıdaki işlemler için tamamlayıcı cihaz profili kullanan bir izinler iletişim kutusu tek bir istekte birden çok izin isteyebilir.

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:

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