Android 16, geliştiriciler için harika yeni özellikler ve API'ler sunar. Aşağıdaki bölümlerde, ilgili API'leri kullanmaya başlamanıza yardımcı olmak için bu özellikler özetlenmiştir.
Yeni, değiştirilmiş ve kaldırılmış API'lerin ayrıntılı listesi için API farkı raporunu inceleyin. Yeni API'lerle ilgili ayrıntılar için Android API referansı sayfasını ziyaret edin. Yeni API'ler görünürlük için vurgulanmıştır.Ayrıca platform değişikliklerinin uygulamalarınızı etkileyebileceği alanları da incelemelisiniz. Daha fazla bilgi için aşağıdaki sayfalara göz atın:
- Uygulamalar Android 16'yı hedeflediğinde etkileyen davranış değişiklikleri
targetSdkVersion
'den bağımsız olarak tüm uygulamaları etkileyen davranış değişiklikleri.
Temel işlevler
Android, Android sisteminin temel özelliklerini genişleten yeni API'ler içerir.
2025'te iki Android API sürümü
- Bu önizleme, 2025'in 2. çeyreğinde kullanıma sunulması planlanan Android'in bir sonraki büyük sürümüdür. Bu sürüm, geçmişteki tüm API sürümlerimize benzer. Bu sürümlerde genellikle bir targetSdkVersion ile ilişkili planlı davranış değişiklikleri yapabiliriz.
- Ekosistemimizdeki cihaz lansmanlarının planıyla daha uyumlu olması için ana sürümü bir çeyrek daha erken (önceki yıllardaki 3. çeyrek yerine 2. çeyrek) yayınlamayı planlıyoruz. Böylece daha fazla cihaz, Android'in ana sürümünü daha erken alabilir. 2. çeyrekte büyük bir sürüm kullanıma sunulacak. Bu nedenle, uygulamalarınızın hazır olduğundan emin olmak için yıllık uyumluluk testinizi önceki yıllara kıyasla birkaç ay daha erken yapmanız gerekir.
- 2025'in 4. çeyreğinde yeni geliştirici API'lerini de içerecek başka bir sürüm yayınlamayı planlıyoruz. 2025'te uygulamaları etkileyebilecek planlı davranış değişikliklerini içeren tek sürüm, 2. çeyrek ana sürümü olacaktır.
4. çeyrek küçük sürümünde, yeni geliştirici API'lerinin yanı sıra özellik güncellemeleri, optimizasyonlar ve hata düzeltmeleri yer alacak. Uygulamayı etkileyen davranış değişiklikleri bu sürüme dahil edilmeyecektir.

Android sürümlerini üç ayda bir yayınlamaya devam edeceğiz. API sürümleri arasındaki 1. ve 3. çeyrek güncellemeleri, sürekli kaliteyi sağlamaya yardımcı olacak artımlı güncellemeler sunar. 2. çeyrek sürümünü mümkün olduğunca fazla cihazda kullanıma sunmak için cihaz iş ortaklarımızla etkin bir şekilde çalışıyoruz.
Büyük ve küçük sürümlerde yeni API'leri kullanma
API düzeyi kontrolü içeren bir kod bloğunu korumak için günümüzde VERSION_CODES
ile SDK_INT
sabitinin kullanılması gerekir. Bu özellik, önemli Android sürümlerinde desteklenmeye devam edecektir.
if (SDK_INT >= VERSION_CODES.BAKLAVA) {
// Use APIs introduced in Android 16
}
Yeni SDK_INT_FULL
sabit değeri, yeni VERSION_CODES_FULL
enumeration ile hem büyük hem de küçük sürümlere karşı API kontrolleri için kullanılabilir.
if (SDK_INT_FULL >= VERSION_CODES_FULL.[MAJOR or MINOR RELEASE]) {
// Use APIs introduced in a major or minor release
}
Yalnızca küçük SDK sürümünü almak için Build.getMinorSdkVersion()
yöntemini de kullanabilirsiniz.
val minorSdkVersion = Build.getMinorSdkVersion(VERSION_CODES_FULL.BAKLAVA)
Bu API'ler henüz nihai hâle getirilmedi ve değişiklik yapılabilir. Bu nedenle, endişeleriniz varsa lütfen bize geri bildirim gönderin.
Kullanıcı deneyimi ve sistem kullanıcı arayüzü
Android 16, uygulama geliştiricilere ve kullanıcılara cihazlarını ihtiyaçlarına göre yapılandırma konusunda daha fazla kontrol ve esneklik sunar.
İlerleme odaklı bildirimler
Android 16, kullanıcıların başlattığı baştan sona yolculukları sorunsuz bir şekilde izlemelerine yardımcı olmak için ilerleme odaklı bildirimler sunar.
Notification.ProgressStyle
, ilerleme odaklı bildirimler oluşturmanıza olanak tanıyan yeni bir bildirim stilidir. Araç paylaşma, teslimat ve navigasyon, bu özelliğin başlıca kullanım alanları arasındadır. Notification.ProgressStyle
sınıfında, noktalar ve segmentler kullanarak kullanıcı yolculuğundaki durumları ve aşamaları belirtebilirsiniz.
To learn more, see the Progress-centric notifications documentation page.


Tahmine dayalı geri gitme güncellemeleri
Android 16 adds new APIs to help you enable predictive back system animations in
gesture navigation such as the back-to-home animation. Registering the
onBackInvokedCallback
with the new
PRIORITY_SYSTEM_NAVIGATION_OBSERVER
allows your app to
receive the regular onBackInvoked
call whenever the
system handles a back navigation without impacting the normal back navigation
flow.
Android 16 additionally adds the
finishAndRemoveTaskCallback()
and
moveTaskToBackCallback
. By registering these callbacks
with the OnBackInvokedDispatcher
, the system can trigger
specific behaviors and play corresponding ahead-of-time animations when the back
gesture is invoked.
Daha zengin dokunma teknolojisi
Android, başlangıcından beri dokunma motoru üzerinde kontrol sağlamıştır.
Android 11, daha gelişmiş aktüatörlerin cihaz tanımlı semantik primitiflerin VibrationEffect.Compositions
aracılığıyla destekleyebileceği daha karmaşık dokunma efektleri için destek ekledi.
Android 16, uygulamaların cihaz özellikleri arasındaki farklılıkları göz ardı ederek dokunma etkisinin genlik ve frekans eğrilerini tanımlamasına olanak tanıyan dokunma API'leri ekler.
Geliştirici üretkenliği ve araçları
Üretkenliğinizi artırmaya yönelik çalışmalarımızın çoğu Android Studio, Jetpack Compose ve Android Jetpack kitaplıkları gibi araçlara odaklanırken platformda vizyonunuzu gerçekleştirmenize yardımcı olacak yollar aramaya devam ediyoruz.
Animasyonlu duvar kağıtları için içerik işleme
In Android 16, the live wallpaper framework is gaining a new content API to
address the challenges of dynamic, user-driven wallpapers. Currently, live
wallpapers incorporating user-provided content require complex, service-specific
implementations. Android 16 introduces
WallpaperDescription
and
WallpaperInstance
. WallpaperDescription lets you
identify distinct instances of a live wallpaper from the same service. For
example, a wallpaper that has instances on both the home screen and on the lock
screen may have unique content in both places. The wallpaper picker and
WallpaperManager
use this metadata to better present
wallpapers to users, streamlining the process for you to create diverse and
personalized live wallpaper experiences.
Performans ve pil
Android 16, uygulamalarınız hakkında analizler toplamanıza yardımcı olan API'ler sunar.
Sistem tarafından tetiklenen profil oluşturma
ProfilingManager
, Android 15'e eklendi. Bu sayede uygulamalar, sahadaki herkese açık cihazlarda Perfetto'yu kullanarak profil oluşturma amacıyla veri toplama isteğinde bulunabilir.
Ancak bu profil oluşturma işlemi uygulamadan başlatılması gerektiğinden, uygulamaların başlatma veya ANR gibi kritik akışları yakalaması zor veya imkansız olur.
Android 16, bu konuda yardımcı olmak için ProfilingManager
'te sistem tarafından tetiklenen profil oluşturma özelliğini kullanıma sunar. Uygulamalar, sıfırdan başlatma reportFullyDrawn
veya ANR'ler gibi belirli tetikleyiciler için izleme alma isteğini kaydedebilir. Ardından sistem, uygulama adına bir izlemeyi başlatır ve durdurur. İzleme tamamlandıktan sonra sonuçlar uygulamanın veri dizine gönderilir.
ApplicationStartInfo'da bileşeni başlatma
ApplicationStartInfo
, Android 15'te eklendi. Bu parametre, uygulamaların işlem başlatma nedenlerini, başlatma türünü, başlatma zamanlarını, tıkanmayı ve diğer yararlı teşhis verilerini görmesine olanak tanır. Android 16, başlangıcı hangi bileşen türünün tetiklediğini ayırt etmek için getStartComponent()
ekliyor. Bu, uygulamanızın başlangıç akışını optimize etmek için yararlı olabilir.
Daha iyi iş incelemesi
JobScheduler#getPendingJobReason()
API, bir işin beklemede olmasının nedenini döndürür. Ancak bir işin beklemede olmasının birden fazla nedeni olabilir.
Android 16'da, hem geliştirici tarafından belirlenen açık kısıtlamalar hem de sistem tarafından belirlenen gizli kısıtlamalar nedeniyle bir işin beklemede olmasının birden fazla nedenini döndüren yeni bir API JobScheduler#getPendingJobReasons(int jobId)
kullanıma sunuyoruz.
Ayrıca, en son kısıtlama değişikliklerinin listesini döndüren JobScheduler#getPendingJobReasonsHistory(int jobId)
işlevini de kullanıma sunuyoruz.
Özellikle belirli görevlerin başarı oranlarının düştüğünü görüyorsanız veya belirli bir işin tamamlanma süresinde gecikmeyle ilgili hatalar varsa API'yi kullanarak işlerinizin neden yürütülemediğini tespit etmenizi öneririz. Örneğin, arka planda widget'ların güncellenmesi başarısız oldu veya uygulama başlatılmadan önce ön getirme işi çağrılamadı.
Bu, belirli işlerin sistem tarafından tanımlanan kısıtlamalar mı yoksa açıkça ayarlanan kısıtlamalar mı nedeniyle tamamlanmadığını daha iyi anlamanıza da yardımcı olabilir.
Uyarlanabilir yenileme oranı
Android 15'te kullanıma sunulan uyarlanabilir yenileme hızı (ARR), desteklenen donanımlarda ekran yenileme hızının ayrı VSync adımları kullanarak içerik kare hızına uyum sağlamasını sağlar. Bu sayede, güç tüketimi azalırken sarsıntıya neden olabilecek mod geçişi ihtiyacı ortadan kaldırılır.
Android 16, uygulamalarınızın ARR'den yararlanmasını kolaylaştırmak için hasArrSupport()
ve getSuggestedFrameRate(int)
özelliklerini sunarken getSupportedRefreshRates()
özelliğini de geri yükler. RecyclerView 1.4, bir atıştan veya sorunsuz kaydırmadan sonra yerleşirken ARR'yi dahili olarak destekler. ARR desteğini daha fazla Jetpack kitaplığına ekleme çalışmalarımıza devam ediyoruz. Bu kare hızı makalesinde, uygulamanızın doğrudan ARR kullanabilmesi için kare hızını ayarlamak üzere kullanabileceğiniz API'lerin çoğu ele alınmaktadır.
ADPF'deki Headroom API'leri
SystemHealthManager
, oyunlara ve yoğun kaynak kullanan uygulamalara mevcut CPU ve GPU kaynaklarının tahminlerini sağlamak için tasarlanmış getCpuHeadroom
ve getGpuHeadroom
API'lerini kullanıma sunar. Bu yöntemler, özellikle termal kısıtlamayı algılayan diğer Android Dinamik Performans Çerçevesi (ADPF) API'leriyle birlikte kullanıldığında, uygulamanızın veya oyununuzun sistem sağlığını en iyi şekilde nasıl iyileştirebileceğini ölçmenize olanak tanır.
Desteklenen cihazlarda CpuHeadroomParams
ve GpuHeadroomParams
düğmelerini kullanarak, boşluğu hesaplamak için kullanılan zaman aralığını özelleştirebilir ve ortalama veya minimum kaynak kullanılabilirliği arasında seçim yapabilirsiniz. Bu sayede CPU veya GPU kaynak kullanımınızı uygun şekilde azaltabilir, daha iyi kullanıcı deneyimleri ve daha uzun pil ömrü elde edebilirsiniz.
Erişilebilirlik
Android 16, uygulamanızı her kullanıcıya ulaştırmanıza yardımcı olabilecek yeni erişilebilirlik API'leri ve özellikleri ekliyor.
Geliştirilmiş erişilebilirlik API'leri
Android 16, kullanıcı arayüzü anlamlarını iyileştirmek için ek API'ler ekleyerek TalkBack gibi erişilebilirlik hizmetlerini kullanan kullanıcılar için tutarlılığı artırmaya yardımcı olur.
Maksimum metin kontrastı için metnin dış çizgisini kalınlaştırma
Görme bozukluğu olan kullanıcıların kontrast hassasiyeti genellikle düşüktür. Bu durum, nesneleri arka planlarından ayırt etmeyi zorlaştırır. Bu kullanıcılara yardımcı olmak için Android 16, yüksek kontrastlı metnin yerini alan ana hat metnini kullanıma sunar. Bu metin, okunabilirliği büyük ölçüde artırmak için metnin etrafında daha büyük bir kontrast alanı çizer.
Android 16, bu modun etkin olup olmadığını görmek için uygulamalarınızın kontrol etmesine veya dinleyici kaydetmesine olanak tanıyan yeni AccessibilityManager
API'leri içerir. Bu, öncelikle benzer bir görsel deneyim sunmak için Oluştur gibi kullanıcı arayüzü araç takımları içindir. Bir kullanıcı arayüzü araç seti kitaplığınız varsa veya uygulamanız android.text.Layout
sınıfını atlayan özel metin oluşturma işlemi gerçekleştiriyorsa ana hat metninin ne zaman etkinleştirildiğini öğrenmek için bunu kullanabilirsiniz.

TtsSpan'a süre eklendi
Android 16, TtsSpan
'yi ARG_HOURS
, ARG_MINUTES
ve ARG_SECONDS
'den oluşan bir TYPE_DURATION
ile genişletir. Bu sayede, süreyi doğrudan not edebilirsiniz. Böylece TalkBack gibi hizmetlerde metin okuma özelliğini doğru ve tutarlı bir şekilde kullanabilirsiniz.
Birden fazla etikete sahip öğeleri destekleme
Android şu anda kullanıcı arayüzü öğelerinin erişilebilirlik etiketlerini başka bir öğeden almasına izin veriyor. Ayrıca, web içeriklerinde yaygın bir durum olan birden fazla etiketin ilişkilendirilmesine olanak tanıyor. Android, AccessibilityNodeInfo
içinde liste tabanlı bir API tanıtarak bu çok etiketli ilişkileri doğrudan destekleyebilir. Bu değişiklik kapsamında, AccessibilityNodeInfo#setLabeledBy
ve #getLabeledBy
için desteği sonlandırdık. Bunun yerine #addLabeledBy
, #removeLabeledBy
ve #getLabeledByList
'yi kullanmanızı öneririz.
Genişletilebilir öğeler için iyileştirilmiş destek
Android 16, menü ve genişletilebilir listeler gibi etkileşimli öğelerin genişletilmiş veya daraltılmış durumunu iletmenize olanak tanıyan erişilebilirlik API'leri ekler. setExpandedState
kullanarak genişletilmiş durumu ayarlayarak ve CONTENT_CHANGE_TYPE_EXPANDED
içerik değişikliği türüyle TYPE_WINDOW_CONTENT_CHANGED AccessibilityEvents göndererek TalkBack gibi ekran okuyucuların durum değişikliklerini duyurmasını sağlayabilir, böylece daha sezgisel ve kapsayıcı bir kullanıcı deneyimi sunabilirsiniz.
Belirsiz ilerleme çubukları
Android 16'da RANGE_TYPE_INDETERMINATE
eklendi. Bu sayede, hem belirli hem de belirsiz ProgressBar
widget'ları için RangeInfo
'i gösterebilirsiniz. Böylece TalkBack gibi hizmetler, ilerleme göstergeleri için daha tutarlı geri bildirim sağlayabilir.
Üç durumlu onay kutusu
Android 16'daki yeni AccessibilityNodeInfo
getChecked
ve setChecked(int)
yöntemleri artık "işaretli" ve "işaretsiz" seçeneklerine ek olarak "kısmen işaretli" durumu da destekliyor. Bu, desteği sonlandırılan isChecked
ve setChecked(boolean)
doğru/yanlış değerlerinin yerini almıştır.
Ek açıklamalar
Erişilebilirlik hizmetleri, bir ViewGroup
tanımlarken alt görünümlerindeki içerik etiketlerini birleştirir. ViewGroup
için bir contentDescription
sağlarsanız erişilebilirlik hizmetleri, odaklanılabilir olmayan alt görünümlerin açıklamasını da geçersiz kıldığınızı varsayar. Erişilebilirlik için mevcut seçimi (ör. "Roboto") korurken açılır menü gibi öğeleri (ör. "Yazı Tipi Ailesi") etiketlemek isterseniz bu durum soruna yol açabilir. Android 16, ViewGroup
öğelerinin bilgilerini geçersiz kılmadan ViewGroup
hakkında bilgi veren metin sağlayabilmeniz için setSupplementalDescription
öğesini ekler.
Zorunlu form alanları
Android 16, uygulamaların bir erişilebilirlik hizmetine form alanına giriş yapılması gerektiğini bildirebilmesi için AccessibilityNodeInfo
değerine setFieldRequired
değerini ekler. Bu, zorunlu hükümler ve koşullar onay kutusu gibi basit şeyler de dahil olmak üzere birçok form türü dolduran kullanıcılar için önemli bir senaryodur. Kullanıcıların zorunlu alanları tutarlı bir şekilde tanımlamasına ve bunlar arasında hızlıca gezinmesine yardımcı olur.
LEA işitme cihazlarıyla sesli aramalarda mikrofon girişi olarak telefon
Android 16, LE Audio işitme cihazı kullanıcılarının sesli aramalar için işitme cihazlarındaki yerleşik mikrofonlar ile telefonlarındaki mikrofon arasında geçiş yapmalarına olanak tanır. Bu, gürültülü ortamlarda veya işitme cihazının mikrofonlarının iyi performans göstermeyebileceği diğer durumlarda yararlı olabilir.
LEA işitme cihazları için ortam ses seviyesi kontrolleri
Android 16, LE Audio işitme cihazı kullanıcılarının işitme cihazının mikrofonları tarafından alınan ortam sesinin ses seviyesini ayarlama özelliğini ekler. Bu, arka plan gürültüsünün çok yüksek veya çok düşük olduğu durumlarda yararlı olabilir.
Kamera
Android 16, profesyonel kamera kullanıcıları için desteği geliştirerek hassas renk sıcaklığı ve renk tonu ayarlamalarının yanı sıra karma otomatik pozlamaya olanak tanır. Yeni bir gece modu göstergesi, uygulamanızın gece modu kamera oturumuna ne zaman geçeceğini ve bu oturumdan ne zaman çıkacağını bilmesine yardımcı olur. Yeni Intent
işlemler, hareketli fotoğraflar çekmeyi kolaylaştırıyor. Ayrıca, HEIC kodlama desteği ve ISO 21496-1 taslak standardındaki yeni parametrelerle Ultra HDR görüntüleri iyileştirmeye devam ediyoruz.
Karma otomatik pozlama
Android 16 adds new hybrid auto-exposure modes to Camera2, allowing you to manually control specific aspects of exposure while letting the auto-exposure (AE) algorithm handle the rest. You can control ISO + AE, and exposure time + AE, providing greater flexibility compared to the current approach where you either have full manual control or rely entirely on auto-exposure.
fun setISOPriority() {
// ... (Your existing code before the snippet) ...
val availablePriorityModes = mStaticInfo.characteristics.get(
CameraCharacteristics.CONTROL_AE_AVAILABLE_PRIORITY_MODES
)
// ... (Your existing code between the snippets) ...
// Turn on AE mode to set priority mode
reqBuilder.set(
CaptureRequest.CONTROL_AE_MODE,
CameraMetadata.CONTROL_AE_MODE_ON
)
reqBuilder.set(
CaptureRequest.CONTROL_AE_PRIORITY_MODE,
CameraMetadata.CONTROL_AE_PRIORITY_MODE_SENSOR_SENSITIVITY_PRIORITY
)
reqBuilder.set(
CaptureRequest.SENSOR_SENSITIVITY,
TEST_SENSITIVITY_VALUE
)
val request: CaptureRequest = reqBuilder.build()
// ... (Your existing code after the snippet) ...
}
Hassas renk sıcaklığı ve renk tonu ayarlamaları
Android 16, profesyonel video kayıt uygulamalarını daha iyi desteklemek için hassas renk sıcaklığı ve ton ayarlamaları için kamera desteği ekler. Önceki Android sürümlerinde, beyaz denge ayarlarını Akkor, Bulutlu ve Alacakaranlık gibi önceden belirlenmiş bir listeyle sınırlı seçenekler içeren CONTROL_AWB_MODE
üzerinden kontrol edebiliyordunuz. COLOR_CORRECTION_MODE_CCT
, ilişkili renk sıcaklığına göre beyaz dengesinin hassas ayarlanması için COLOR_CORRECTION_COLOR_TEMPERATURE
ve COLOR_CORRECTION_COLOR_TINT
düğmelerinin kullanılmasını sağlar.
fun setCCT() {
// ... (Your existing code before this point) ...
val colorTemperatureRange: Range<Int> =
mStaticInfo.characteristics[CameraCharacteristics.COLOR_CORRECTION_COLOR_TEMPERATURE_RANGE]
// Set to manual mode to enable CCT mode
reqBuilder[CaptureRequest.CONTROL_AWB_MODE] = CameraMetadata.CONTROL_AWB_MODE_OFF
reqBuilder[CaptureRequest.COLOR_CORRECTION_MODE] = CameraMetadata.COLOR_CORRECTION_MODE_CCT
reqBuilder[CaptureRequest.COLOR_CORRECTION_COLOR_TEMPERATURE] = 5000
reqBuilder[CaptureRequest.COLOR_CORRECTION_COLOR_TINT] = 30
val request: CaptureRequest = reqBuilder.build()
// ... (Your existing code after this point) ...
}
Aşağıdaki örneklerde, farklı renk sıcaklığı ve ton düzenlemeleri uygulandıktan sonra bir fotoğrafın nasıl görüneceği gösterilmektedir:





Kamerada gece modu sahne algılama
To help your app know when to switch to and from a night mode camera session,
Android 16 adds EXTENSION_NIGHT_MODE_INDICATOR
. If
supported, it's available in the CaptureResult
within
Camera2.
This is the API we briefly mentioned as coming soon in the How Instagram enabled users to take stunning low light photos blog post. That post is a practical guide on how to implement night mode together with a case study that links higher-quality in-app night mode photos with an increase in the number of photos shared from the in-app camera.
Hareketli fotoğraf çekme amaçlı işlem
Android 16 adds standard Intent actions —
ACTION_MOTION_PHOTO_CAPTURE
, and
ACTION_MOTION_PHOTO_CAPTURE_SECURE
— which request that
the camera application capture a motion photo and return
it.
You must either pass an extra EXTRA_OUTPUT
to control
where the image will be written, or a Uri
through
Intent.setClipData(ClipData)
. If you don't set a
ClipData
, it will be copied there for you when calling
Context.startActivity(Intent)
.
Ultra HDR görüntü geliştirmeleri

Android 16 continues our work to deliver dazzling image quality with UltraHDR
images. It adds support for UltraHDR images in the HEIC file
format. These images will get ImageFormat
type
HEIC_ULTRAHDR
and will contain an embedded gainmap similar
to the existing UltraHDR JPEG format. We're working on AVIF support for UltraHDR
as well, so stay tuned.
In addition, Android 16 implements additional parameters in UltraHDR from the ISO 21496-1 draft standard, including the ability to get and set the colorspace that gainmap math should be applied in, as well as support for HDR encoded base images with SDR gainmaps.
Grafik
Android 16, AGSL ile özel grafik efektleri gibi en yeni grafik iyileştirmelerini içerir.
AGSL ile özel grafik efektleri
Android 16 adds RuntimeColorFilter
and
RuntimeXfermode
, allowing you to author complex effects like
Threshold, Sepia, and Hue Saturation and apply them to draw calls. Since Android
13, you've been able to use AGSL to create custom
RuntimeShaders that extend Shader
. The new API
mirrors this, adding an AGSL-powered RuntimeColorFilter
that
extends ColorFilter
, and a Xfermode
effect that
lets you implement AGSL-based custom compositing and blending between source and
destination pixels.
private val thresholdEffectString = """
uniform half threshold;
half4 main(half4 c) {
half luminosity = dot(c.rgb, half3(0.2126, 0.7152, 0.0722));
half bw = step(threshold, luminosity);
return bw.xxx1 * c.a;
}"""
fun setCustomColorFilter(paint: Paint) {
val filter = RuntimeColorFilter(thresholdEffectString)
filter.setFloatUniform(0.5);
paint.colorFilter = filter
}
Bağlantı
Android 16, platformu güncelleyerek uygulamanızın iletişim ve kablosuz teknolojilerdeki en son gelişmelere erişmesini sağlar.
Gelişmiş güvenlik ile aralık belirleme
Android 16 adds support for robust security features in Wi-Fi location on supported devices with Wi-Fi 6's 802.11az, allowing apps to combine the higher accuracy, greater scalability, and dynamic scheduling of the protocol with security enhancements including AES-256-based encryption and protection against MITM attacks. This allows it to be used more safely in proximity use cases, such as unlocking a laptop or a vehicle door. 802.11az is integrated with the Wi-Fi 6 standard, leveraging its infrastructure and capabilities for wider adoption and easier deployment.
Genel aralık API'leri
Android 16 includes the new RangingManager
, which provides
ways to determine the distance and angle on supported hardware between the local
device and a remote device. RangingManager
supports the usage of a variety of
ranging technologies such as BLE channel sounding, BLE RSSI-based ranging, Ultra
Wideband, and Wi-Fi round trip time.
Companion Device Manager cihaz varlığı
Android 16'da, tamamlayıcı uygulama hizmetinizi bağlamak için yeni API'ler kullanıma sunulmaktadır. BLE kapsama alanındayken ve Bluetooth bağlıyken hizmet bağlanır. BLE kapsama alanından çıktığında veya Bluetooth bağlantısı kesildiğinde hizmetin bağlantısı kaldırılır. Uygulama, DevicePresenceEvent
türlerine göre yeni bir 'onDevicePresenceEvent()' geri çağırma işlevi alır.
Daha ayrıntılı bilgiyi 'startObservingDevicePresence(ObservingDevicePresenceRequest)' işlevinde bulabilirsiniz.
Medya
Android 16, medya deneyimini iyileştiren çeşitli özellikler içerir.
Fotoğraf seçiciyle ilgili iyileştirmeler
Fotoğraf seçici, kullanıcıların uygulamanızın tüm medya kitaplıkları yerine hem yerel hem de bulut depolama alanlarındaki seçili resimlere ve videolara erişmesine izin vermesi için güvenli ve yerleşik bir yöntem sunar. Google sistem güncellemeleri ve Google Play Hizmetleri aracılığıyla modüler sistem bileşenleri kombinasyonu kullanılarak Android 4.4 (API düzeyi 19)'e kadar desteklenir. Entegrasyon için ilişkili Android Jetpack kitaplığı ile yalnızca birkaç satır kod yeterlidir.
Android 16'da fotoğraf seçicide aşağıdaki iyileştirmeler yapılmıştır:
- Yerleştirilmiş fotoğraf seçici: Uygulamaların fotoğraf seçiciyi görünüm hiyerarşisine yerleştirmesini sağlayan yeni API'ler. Bu sayede, kullanıcıların uygulamanın çok geniş izinlere ihtiyaç duymadan medya seçmesine olanak tanıyan işlem izolasyonundan yararlanırken, uygulamanın daha entegre bir parçası gibi görünmesini sağlar. Platform sürümleri arasında uyumluluğu en üst düzeye çıkarmak ve entegrasyonunuzu basitleştirmek için yerleşik fotoğraf seçiciyi entegre etmek istiyorsanız yakında kullanıma sunulacak Android Jetpack kitaplığını kullanmanız gerekir.
- Fotoğraf seçicide Cloud Search: Android fotoğraf seçici için bulut medya sağlayıcısından arama yapmayı sağlayan yeni API'ler. Fotoğraf seçicide arama işlevi yakında kullanıma sunulacaktır.
Gelişmiş Profesyonel Video
Android 16 introduces support for the Advanced Professional Video (APV) codec which is designed to be used for professional level high quality video recording and post production.
The APV codec standard has the following features:
- Perceptually lossless video quality (close to raw video quality)
- Low complexity and high throughput intra-frame-only coding (without pixel domain prediction) to better support editing workflows
- Support for high bit-rate range up to a few Gbps for 2K, 4K and 8K resolution content, enabled by a lightweight entropy coding scheme
- Frame tiling for immersive content and for enabling parallel encoding and decoding
- Support for various chroma sampling formats and bit-depths
- Support for multiple decoding and re-encoding without severe visual quality degradation
- Support multi-view video and auxiliary video like depth, alpha, and preview
- Support for HDR10/10+ and user-defined metadata
A reference implementation of APV is provided through the OpenAPV project. Android 16 will implement support for the APV 422-10 Profile that provides YUV 422 color sampling along with 10-bit encoding and for target bitrates of up to 2Gbps.
Gizlilik
Android 16, uygulama geliştiricilerin kullanıcı gizliliğini korumasına yardımcı olan çeşitli özellikler içerir.
Health Connect güncellemeleri
Health Connect adds ACTIVITY_INTENSITY
, a data type defined according to World
Health Organization guidelines around moderate and vigorous activity. Each
record requires the start time, the end time, and whether the activity intensity
is moderate or vigorous.
Health Connect also contains updated APIs supporting medical records. This allows apps to read and write medical records in FHIR format with explicit user consent.
Android'de Özel Korumalı Alan
Android 16, kullanıcıların gizliliklerinin korunduğunu bildikleri teknolojiler geliştirmek için devam eden çalışmalarımızın bir parçası olan Android'de Özel Korumalı Alan'ın en son sürümünü içerir. Android geliştirici beta programındaki Özel Korumalı Alan hakkında daha fazla bilgiyi web sitemizde bulabilirsiniz. SDK'ların, sundukları uygulamadan ayrı özel bir çalışma zamanı ortamında çalışmasını sağlayan ve kullanıcı verilerinin toplanması ve paylaşılmasıyla ilgili daha güçlü önlemler sunan SDK Çalışma Zamanı'na göz atın.
Güvenlik
Android 16, uygulamanızın güvenliğini artırmanıza ve uygulamanızın verilerini korumanıza yardımcı olan özellikler içerir.
Key Sharing API
Android 16, Android Anahtar Deposu anahtarlarına erişimi diğer uygulamalarla paylaşmayı destekleyen API'ler ekler. Yeni KeyStoreManager
sınıfı, uygulama uid'sine göre anahtarlara erişim izni verme ve erişim iznini iptal etme işlemlerini destekler ve uygulamaların paylaşılan anahtarlara erişmesi için bir API içerir.
Cihaz form faktörleri
Android 16, uygulamalarınızın Android'in form faktörlerinden en iyi şekilde yararlanmasını sağlar.
TV'ler için standartlaştırılmış görüntü ve ses kalitesi çerçevesi
Android 16'daki yeni MediaQuality
paketi, ses ve resim profillerine ve donanımla ilgili ayarlara erişim için standartlaştırılmış bir API grubu sağlar. Bu sayede akış uygulamaları profilleri sorgulayabilir ve medyaya dinamik olarak uygulayabilir:
- Daha geniş dinamik aralıkla mastering işlemi uygulanan filmlerde, gölgelerdeki ince ayrıntıları görmek ve ortam ışığına uyum sağlamak için daha yüksek renk doğruluğu gerekir. Bu nedenle, parlaklık yerine renk doğruluğunu tercih eden bir profil uygun olabilir.
- Canlı spor etkinlikleri genellikle dar bir dinamik aralık ile masterlanır ancak genellikle gün ışığında izlenir. Bu nedenle, renk doğruluğu yerine parlaklığı tercih eden bir profil daha iyi sonuçlar verebilir.
- Tamamen etkileşimli içerikler, gecikmeyi azaltmak için minimum düzeyde işleme ve daha yüksek kare hızları gerektirir. Bu nedenle birçok TV, oyun profiliyle birlikte gönderilir.
API, uygulamaların profiller arasında geçiş yapmasına ve kullanıcıların desteklenen TV'leri içeriklerine en uygun şekilde ayarlamalarına olanak tanır.
Uluslararası hale getirme
Android 16, cihaz farklı dillerde kullanılırken kullanıcı deneyimini tamamlayan özellikler ve işlevler ekler.
Dikey metin
Android 16 adds low-level support for rendering and measuring text vertically to
provide foundational vertical writing support for library developers. This is
particularly useful for languages like Japanese that commonly use vertical
writing systems. A new flag,
VERTICAL_TEXT_FLAG
,
has been added to the Paint
class. When
this flag is set using
Paint.setFlags
, Paint's
text measurement APIs will report vertical advances instead of horizontal
advances, and Canvas
will draw text
vertically.
val text = "「春は、曙。」"
Box(
Modifier.padding(innerPadding).background(Color.White).fillMaxSize().drawWithContent {
drawIntoCanvas { canvas ->
val paint = Paint().apply { textSize = 64.sp.toPx() }
// Draw text vertically
paint.flags = paint.flags or VERTICAL_TEXT_FLAG
val height = paint.measureText(text)
canvas.nativeCanvas.drawText(
text,
0,
text.length,
size.width / 2,
(size.height - height) / 2,
paint
)
}
}
) {}
Ölçü sistemi özelleştirme
Users can now customize their measurement system in regional preferences within
Settings. The user preference is included as part of the locale code, so you can
register a BroadcastReceiver
on
ACTION_LOCALE_CHANGED
to handle locale configuration changes when
regional preferences change.
Using formatters can help match the local experience. For example, "0.5 in" in English (United States), is "12,7 mm" for a user who has set their phone to English (Denmark) or who uses their phone in English (United States) with the metric system as the measurement system preference.
To find these settings, open the Settings app and navigate to System > Languages & region.