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.
如需了解详情,请参阅以进度为中心的通知文档页面。


Tahmine dayalı geri gitme güncellemeleri
Android 16 添加了新 API,可帮助您在手势导航中启用预测性返回系统动画,例如“返回主屏幕”动画。通过使用新的 PRIORITY_SYSTEM_NAVIGATION_OBSERVER
注册 onBackInvokedCallback
,您的应用可以在系统处理返回导航时接收常规的 onBackInvoked
调用,而不会影响正常的返回导航流程。
Android 16 还添加了 finishAndRemoveTaskCallback()
和 moveTaskToBackCallback
。通过向 OnBackInvokedDispatcher
注册这些回调,系统可以在调用返回手势时触发特定行为并播放相应的提前动画。
Daha zengin dokunma teknolojisi
自诞生之日起,Android 就提供了对触感反馈致动器的控制。
Android 11 添加了对更复杂的触感反馈效果的支持,更高级的致动器可以通过设备定义的语义基元 VibrationEffect.Compositions
支持这些效果。
Android 16 添加了触感反馈 API,让应用能够定义触感反馈效果的振幅和频率曲线,同时抽象出设备功能之间的差异。
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ıyla ilgili içerik işleme
Android 16'da, canlı duvar kağıdı çerçevesi dinamik, kullanıcı odaklı duvar kağıtlarının zorluklarını gidermek için yeni bir içerik API'si kazanıyor. Kullanıcı tarafından sağlanan içeriklerin yer aldığı canlı duvar kağıtları şu anda karmaşık ve hizmete özel uygulamalar gerektiriyor. Android 16'da WallpaperDescription
ve WallpaperInstance
özellikleri kullanıma sunulmuştur. WallpaperDescription, aynı hizmetteki farklı animasyonlu duvar kağıdı örneklerini tanımlamanızı sağlar. Örneğin, hem ana ekranda hem de kilit ekranında örnekleri bulunan bir duvar kağıdında her iki yerde de benzersiz içerikler bulunabilir. Duvar kağıdı seçici ve WallpaperManager
, duvar kağıtlarını kullanıcılara daha iyi sunmak için bu meta verileri kullanır. Böylece, çeşitli ve kişiselleştirilmiş canlı duvar kağıdı deneyimleri oluşturma sürecini kolaylaştırır.
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 中添加,可让应用查看进程启动原因、启动类型、启动时间、节流和其他实用诊断数据。Android 16 添加了 getStartComponent()
,用于区分触发启动的组件类型,这有助于优化应用的启动流程。
Daha iyi iş incelemesi
JobScheduler#getPendingJobReason()
API 会返回作业可能处于待处理状态的原因。不过,作业处于待处理状态的原因可能有多种。
在 Android 16 中,我们引入了一个新 API JobScheduler#getPendingJobReasons(int jobId)
,该 API 会返回作业处于待处理状态的多种原因,包括开发者设置的显式约束条件和系统设置的隐式约束条件。
我们还引入了 JobScheduler#getPendingJobReasonsHistory(int jobId)
,用于返回最新约束条件更改的列表。
我们建议您使用该 API 来调试作业可能无法执行的原因,尤其是在您发现某些任务的成功率降低或某些作业完成延迟存在 bug 时。例如,未能在后台更新微件,或在应用启动之前未能调用预加载作业。
这还有助于您更好地了解某些作业是否因系统定义的约束条件而无法完成,而不是因明确设置的约束条件而无法完成。
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
引入了 getCpuHeadroom
和 getGpuHeadroom
API,旨在为游戏和资源密集型应用提供可用 CPU 和 GPU 资源的估算值。通过这些方法,您可以评估应用或游戏如何以最佳方式改善系统运行状况,尤其是在与用于检测热节流的其他 Android 动态性能框架 (ADPF) API 搭配使用时。
在受支持的设备上使用 CpuHeadroomParams
和 GpuHeadroomParams
,您可以自定义用于计算余量的时间范围,并在平均资源可用性或最低资源可用性之间进行选择。这有助于您相应地减少 CPU 或 GPU 资源用量,从而提升用户体验并延长电池续航时间。
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 助听器用户调节助听器麦克风接收的环境声音的音量。在背景噪音过大或过小的情况下,这可能会很有用。
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, Camera2'ye yeni karma otomatik pozlama modları ekler. Bu modlar, pozlamanın belirli yönlerini manuel olarak kontrol etmenize olanak tanır ve geri kalanını otomatik pozlama (AE) algoritmasının halletmesine olanak tanır. ISO + AE ve örnekleme süresi + AE'yi kontrol edebilirsiniz. Böylece, tam manuel kontrole sahip olduğunuz veya tamamen otomatik pozlamaya güvendiğiniz mevcut yaklaşıma kıyasla daha fazla esneklik elde edersiniz.
public void setISOPriority() {
...
int[] availablePriorityModes =
mStaticInfo.getCharacteristics().get(CameraCharacteristics.
COLOR_AE_AVAILABLE_PRIORITY_MODES);
...
// 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);
reqBuilder.set(CaptureRequest.SENSOR_SENSITIVITY,
TEST_SENSITIVITY_VALUE);
CaptureRequest request = reqBuilder.build();
...
}
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.
public void setCCT() {
...
Range<Integer> colorTemperatureRange =
mStaticInfo.getCharacteristics().get(CameraCharacteristics.
COLOR_CORRECTION_COLOR_TEMPERATURE_RANGE);
// Set to manual mode to enable CCT mode
reqBuilder.set(CaptureRequest.CONTROL_AWB_MODE, CameraMetadata.CONTROL_AWB_MODE_OFF);
reqBuilder.set(CaptureRequest.COLOR_CORRECTION_MODE,
CameraMetadata.COLOR_CORRECTION_MODE_CCT);
reqBuilder.set(CaptureRequest.COLOR_CORRECTION_COLOR_TEMPERATURE, 5000);
reqBuilder.set(CaptureRequest.COLOR_CORRECTION_COLOR_TINT, 30);
CaptureRequest request = reqBuilder.build();
...
}
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
Uygulamanızın gece modu kamera oturumuna ne zaman geçeceğini ve ne zaman çıkacağını bilmesi için Android 16'da EXTENSION_NIGHT_MODE_INDICATOR
eklendi. Destekleniyorsa Camera2'deki CaptureResult
bölümünde kullanılabilir.
Bu, Instagram'ın kullanıcıların düşük ışıkta muhteşem fotoğraflar çekmesini nasıl sağladığı blog yayınında yakında kullanıma sunulacağından kısaca bahsettiğimiz API'dir. Bu yayında, gece modunun nasıl uygulanacağıyla ilgili pratik bir kılavuz ve uygulama içi kameradan paylaşılan fotoğrafların sayısının artmasıyla daha yüksek kaliteli uygulama içi gece modu fotoğrafları arasında bağlantı kuran bir örnek olay yer alıyor.
Hareketli fotoğraf çekme amaçlı işlem
Android 16, kamera uygulamasının hareketli fotoğraf çekmesini ve döndürmesini isteyen standart Intent işlemleri (ACTION_MOTION_PHOTO_CAPTURE
ve ACTION_MOTION_PHOTO_CAPTURE_SECURE
) ekler.
Resmin nereye yazılacağını kontrol etmek için ek bir EXTRA_OUTPUT
veya Intent.setClipData(ClipData)
aracılığıyla bir Uri
göndermeniz gerekir. ClipData
ayarlamazsanız Context.startActivity(Intent)
araması yapılırken sizin için kopyalanır.
Ultra HDR görüntü geliştirmeleri

Android 16, Ultra HDR görüntülerle göz kamaştırıcı görüntü kalitesi sunma çalışmalarımıza devam ediyor. HEIC dosya biçiminde UltraHDR resimleri için destek ekler. Bu resimler ImageFormat
türü HEIC_ULTRAHDR
alır ve mevcut UltraHDR JPEG biçimine benzer bir yerleşik kazanç haritası içerir. UltraHDR için AVIF desteği üzerinde de çalışıyoruz. Gelişmeleri takip edin.
Ayrıca Android 16, ISO 21496-1 taslak standardından UltraHDR'ye ek parametreler uygular. Bu parametreler arasında, kazanç haritası matematiğinin uygulanması gereken renk alanını alma ve ayarlama özelliğinin yanı sıra SDR kazanç haritaları içeren HDR kodlanmış temel resimler için destek yer alır.
Grafik
Android 16, AGSL ile özel grafik efektleri gibi en yeni grafik iyileştirmelerini içerir.
AGSL ile özel grafik efektleri
Android 16 添加了 RuntimeColorFilter
和 RuntimeXfermode
,让您可以创作阈值、Sepia 和 Hue Saturation 等复杂效果,并将其应用于绘制调用。从 Android 13 开始,您可以使用 AGSL 创建扩展 Shader
的自定义 RuntimeShader。新 API 反映了这一点,添加了由 AGSL 驱动的 RuntimeColorFilter
(用于扩展 ColorFilter
)和 Xfermode
效果,让您可以在源像素和目标像素之间实现基于 AGSL 的自定义合成和混合。
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, Wi-Fi 6'nın 802.11az özelliğine sahip desteklenen cihazlarda kablosuz konum için güçlü güvenlik özellikleri desteği ekler. Bu sayede uygulamalar, protokolün daha yüksek doğruluğunu, daha fazla ölçeklenebilirliğini ve dinamik planlamasını AES-256 tabanlı şifreleme ve MITM saldırılarına karşı koruma gibi güvenlik geliştirmeleriyle birleştirebilir. Bu sayede, dizüstü bilgisayarın veya araç kapısının kilidini açma gibi yakınlık kullanım alanlarında daha güvenli bir şekilde kullanılabilir. 802.11az, daha geniş kullanım ve daha kolay dağıtım için altyapısından ve özelliklerinden yararlanarak Wi-Fi 6 standardıyla entegre edilmiştir.
Genel aralık API'leri
Android 16 包含新的 RangingManager
,它提供了在受支持的硬件上确定本地设备与远程设备之间的距离和角度的方法。RangingManager
支持使用各种测距技术,例如 BLE 信道声音探测、基于 BLE RSSI 的测距、超宽带和 Wi-Fi 往返时间。
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
照片选择器为用户提供了一种安全的内置授权方式,让用户可以向应用授予对本地存储空间和云端存储空间中所选图片和视频的访问权限,而不是对整个媒体库的访问权限。通过 Google 系统更新和 Google Play 服务组合使用模块化系统组件,该工具向后支持到 Android 4.4(API 级别 19)。只需几行代码即可与相关的 Android Jetpack 库集成。
Android 16 对照片选择器进行了以下改进:
- 嵌入式照片选择器:新 API,可让应用将照片选择器嵌入其视图层次结构中。这样,它就感觉像是应用中更为集成的一部分,同时仍可利用进程隔离功能,让用户能够选择媒体,而无需应用拥有过于宽泛的权限。为了最大限度地提高跨平台版本的兼容性并简化集成,如果您想集成嵌入式照片选择器,则需要使用即将推出的 Android Jetpack 库。
- 照片选择器中的云搜索:新的 API 可让 Android 照片选择器从云端媒体提供商中进行搜索。照片选择器中的搜索功能即将推出。
Gelişmiş Profesyonel Video
Android 16 引入了对高级专业视频 (APV) 编解码器的支持,该编解码器专为专业级高品质视频录制和后期制作而设计。
APV 编解码器标准具有以下特点:
- 感知上无损的视频画质(接近原始视频画质)
- 复杂度低且吞吐量高的仅帧内编码(无像素域预测),以更好地支持编辑工作流
- 支持高比特率范围(最高几十 Gbps),适用于 2K、4K 和 8K 分辨率内容,由轻量级熵编码方案实现
- 帧平铺,用于沉浸式内容和启用并行编码和解码
- 支持各种色度采样格式和位深
- 支持多次解码和重新编码,且不会严重降低视觉质量
- 支持多视图视频和辅助视频,例如深度、Alpha 和预览
- 支持 HDR10/10+ 和用户定义的元数据
OpenAPV 项目提供了 APV 的参考实现。Android 16 将实现对 APV 422-10 配置文件的支持,该配置文件提供 YUV 422 色彩采样以及 10 位编码,并且目标比特率最高可达 2 Gbps。
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, orta ve yoğun aktiviteyle ilgili Dünya Sağlık Örgütü kurallarına göre tanımlanan bir veri türü olan ACTIVITY_INTENSITY
'ü ekler. Her kayıt için başlangıç zamanı, bitiş zamanı ve aktivite yoğunluğunun orta mı yoksa yoğun mu olduğu belirtilmelidir.
Health Connect, tıbbi kayıtları destekleyen güncellenmiş API'ler de içerir. Bu sayede uygulamalar, kullanıcının açık izniyle FHIR biçiminde tıbbi kayıtları okuyabilir ve yazabilir.
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 添加了一些 API,这些 API 支持与其他应用共享对 Android Keystore 密钥的访问权限。新的 KeyStoreManager
类支持按应用 uid 授予和撤消对密钥的访问权限,并包含一个供应用访问共享密钥的 API。
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 添加了对垂直渲染和测量文本的低级支持,以便为库开发者提供基本的垂直书写支持。这对于日语等通常使用竖向书写系统的语言特别有用。Paint
类中添加了一个新标志 VERTICAL_TEXT_FLAG
。使用 Paint.setFlags
设置此标志后,Paint 的文本测量 API 将报告垂直进度,而不是水平进度,并且 Canvas
将垂直绘制文本。
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
Kullanıcılar artık ölçüm sistemlerini Ayarlar'daki bölgesel tercihlerde özelleştirebilir. Kullanıcı tercihi, yerel ayar kodunun bir parçası olarak dahil edilir. Bu nedenle, bölgesel tercihler değiştiğinde yerel ayar yapılandırma değişikliklerini işlemek için ACTION_LOCALE_CHANGED
üzerinde bir BroadcastReceiver
kaydedebilirsiniz.
Düzenleyiciler kullanmak, yerel deneyimle eşleşmeye yardımcı olabilir. Örneğin, İngilizce (ABD) dilinde "0,5 in" olan ölçü birimi, telefonunu İngilizce (Danimarka) olarak ayarlayan veya telefonunu İngilizce (ABD) dilinde kullanırken ölçü birimi tercihi olarak metrik sistemi kullanan bir kullanıcı için "12,7 mm" olur.
Bu ayarları bulmak için Ayarlar uygulamasını açıp Sistem > Dil ve bölge'ye gidin.