Önceki sürümlerde olduğu gibi Android 16'da da uygulamanızı etkileyebilecek davranış değişiklikleri yer alıyor. Aşağıdaki davranış değişiklikleri yalnızca Android 16 veya sonraki sürümleri hedefleyen uygulamalar için geçerlidir. Uygulamanız Android 16 veya sonraki sürümleri hedefliyorsa geçerli olduğu durumlarda uygulamanızı bu davranışları destekleyecek şekilde değiştirmeniz gerekir.
Uygulamanızın targetSdkVersion
sürümünden bağımsız olarak Android 16'da çalışan tüm uygulamaları etkileyen davranış değişiklikleri listesini de incelemeyi unutmayın.
Kullanıcı deneyimi ve sistem kullanıcı arayüzü
Android 16 (API düzeyi 36), daha tutarlı ve sezgisel bir kullanıcı deneyimi sunmak için tasarlanmış aşağıdaki değişiklikleri içerir.
Uçtan uca kapsam dışında kalma seçeneği kullanımdan kaldırılıyor
Android 15 enforced edge-to-edge for apps targeting Android 15 (API
level 35), but your app could opt-out by setting
R.attr#windowOptOutEdgeToEdgeEnforcement
to true
. For apps
targeting Android 16 (API level 36),
R.attr#windowOptOutEdgeToEdgeEnforcement
is deprecated and disabled, and your
app can't opt-out of going edge-to-edge.
- If your app targets Android 16 (API level 36) and is running on an
Android 15 device,
R.attr#windowOptOutEdgeToEdgeEnforcement
continues to work. - If your app targets Android 16 (API level 36) and is running on an
Android 16 device,
R.attr#windowOptOutEdgeToEdgeEnforcement
is disabled.
For testing in Android 16 Beta 3, ensure your app supports edge-to-edge and
remove any use of R.attr#windowOptOutEdgeToEdgeEnforcement
so that your app
also supports edge-to-edge on an Android 15 device. To support edge-to-edge,
see the Compose and Views guidance.
Tahmini geri arama için taşıma veya devre dışı bırakma işlemi gereklidir
For apps targeting Android 16 or higher and running on an
Android 16 or higher device, the predictive back system animations
(back-to-home, cross-task, and cross-activity) are enabled by default.
Additionally, onBackPressed
is not called and
KeyEvent.KEYCODE_BACK
is not dispatched anymore.
If your app intercepts the back event and you haven't migrated to predictive
back yet, update your app to use supported back navigation APIs. or
temporarily opt out by setting the
android:enableOnBackInvokedCallback
attribute to false
in the
<application>
or <activity>
tag of your app's AndroidManifest.xml
file.
Elegant yazı tipi API'leri kullanımdan kaldırıldı ve devre dışı bırakıldı
Apps targeting Android 15 (API level 35) have the
elegantTextHeight
TextView
attribute set to true
by
default, replacing the compact font with one that is much more readable. You
could override this by setting the elegantTextHeight
attribute to false
.
Android 16 deprecates the
elegantTextHeight
attribute,
and the attribute will be ignored once your app targets Android 16. The "UI
fonts" controlled by these APIs are being discontinued, so you should adapt any
layouts to ensure consistent and future proof text rendering in Arabic, Lao,
Myanmar, Tamil, Gujarati, Kannada, Malayalam, Odia, Telugu or Thai.

elegantTextHeight
behavior for apps targeting Android
14 (API level 34) and lower, or for apps targeting Android 15 (API level 35)
that overrided the default by setting the elegantTextHeight
attribute to false
.
elegantTextHeight
behavior for apps targeting Android
16, or for apps targeting Android 15 (API level 35) that didn't override the
default by setting the elegantTextHeight
attribute to
false
.Temel işlevler
Android 16 (API düzeyi 36), Android sisteminin çeşitli temel özelliklerini değiştiren veya genişleten aşağıdaki değişiklikleri içerir.
Sabit ücretli iş planlama optimizasyonu
Prior to targeting Android 16, when scheduleAtFixedRate
missed a task execution due to being outside a valid
process lifecycle, all missed executions immediately
execute when the app returns to a valid lifecycle.
When targeting Android 16, at most one missed execution of
scheduleAtFixedRate
is immediately executed when the app
returns to a valid lifecycle. This behavior change is expected to improve app
performance. Test this behavior in your app to check if your app is impacted.
You can also test by using the app compatibility framework
and enabling the STPE_SKIP_MULTIPLE_MISSED_PERIODIC_TASKS
compat flag.
Cihaz form faktörleri
Android 16 (API düzeyi 36), büyük ekranlı cihazlarda gösterilen uygulamalar için aşağıdaki değişiklikleri içerir.
Uyarlanabilir düzenler
Android uygulamaları artık çeşitli cihazlarda (telefonlar, tabletler, katlanabilir cihazlar, masaüstü bilgisayarlar, arabalar ve TV'ler gibi) ve büyük ekranlarda pencere modlarında (bölünmüş ekran ve masaüstü pencere modu gibi) çalıştığından, geliştiriciler cihaz yöneliminden bağımsız olarak her ekran ve pencere boyutuna uyum sağlayan Android uygulamaları oluşturmalıdır. Yön kısıtlaması ve yeniden boyutlandırılabilirlik gibi paradigmalar, günümüzün çok cihazlı dünyasında çok kısıtlayıcı.
Yön, yeniden boyutlandırılabilirlik ve en boy oranı kısıtlamalarını yoksayma
Android 16 (API düzeyi 36) hedefleyen uygulamalar için Android 16, sistemin yön, yeniden boyutlandırma ve en boy oranı kısıtlamalarını yönetme şekliyle ilgili değişiklikler içerir. En küçük genişliği >= 600 dp olan ekranlarda kısıtlamalar artık geçerli değildir. Ayrıca, uygulamalar en boy oranına veya kullanıcının tercih ettiği yönde bakılmaksızın ekran penceresinin tamamını doldurur ve dikey kenarlık kullanılmaz.
Bu değişiklik, yeni bir standart platform davranışı sunar. Android, uygulamaların çeşitli yönlere, ekran boyutlarına ve en boy oranlarına uyum sağlaması beklenen bir modele doğru ilerliyor. Sabit yön veya sınırlı yeniden boyutlandırma gibi kısıtlamalar, uygulamanın uyarlanabilirliğini engeller. Bu nedenle, mümkün olan en iyi kullanıcı deneyimini sunmak için uygulamanızı uyarlanabilir hale getirmenizi öneririz.
Uygulama uyumluluk çerçevesini kullanarak ve UNIVERSAL_RESIZABLE_BY_DEFAULT
uyumluluk işaretini etkinleştirerek de bu davranışı test edebilirsiniz.
Sık karşılaşılan zarar veren değişiklikler
Yön, yeniden boyutlandırılabilirlik ve en boy oranı kısıtlamaları göz ardı edildiğinde, uygulamanızın kullanıcı arayüzü bazı cihazlarda, özellikle de dikey yönde kilitli küçük düzenler için tasarlanmış öğeler etkilenebilir. Örneğin, gerilmiş düzenler, ekran dışı animasyonlar ve bileşenler gibi sorunlar ortaya çıkabilir. En boy oranı veya yönle ilgili varsayımların hepsi uygulamanızda görsel sorunlara neden olabilir. Bu sorunların nasıl önleneceği ve uygulamanızın uyarlanabilir davranışının nasıl iyileştirileceği hakkında daha fazla bilgi edinin.
Cihaz rotasyonuna izin vermek, daha fazla etkinliğin yeniden oluşturulmasına neden olur. Bu da, düzgün şekilde korunmazsa kullanıcı durumunun kaybedilmesine yol açabilir. Kullanıcı arayüzü durumlarını kaydetme başlıklı makalede, kullanıcı arayüzü durumunu nasıl doğru şekilde kaydedeceğinizi öğrenin.
Uygulama ayrıntıları
Aşağıdaki manifest özellikleri ve çalışma zamanı API'leri, tam ekran ve çok pencereli modlarda büyük ekranlı cihazlarda yoksayılır:
screenOrientation
resizableActivity
minAspectRatio
maxAspectRatio
setRequestedOrientation()
getRequestedOrientation()
screenOrientation
, setRequestedOrientation()
ve getRequestedOrientation()
için aşağıdaki değerler yoksayılır:
portrait
reversePortrait
sensorPortrait
userPortrait
landscape
reverseLandscape
sensorLandscape
userLandscape
Görüntü yeniden boyutlandırılabilirliği açısından android:resizeableActivity="false"
,
android:minAspectRatio
ve android:maxAspectRatio
'nin hiçbir etkisi yoktur.
Android 16'yı (API düzeyi 36) hedefleyen uygulamalarda, uygulama yönü, yeniden boyutlandırılabilirlik ve en boy oranı kısıtlamaları büyük ekranlarda varsayılan olarak yoksayılır. Ancak tam olarak hazır olmayan her uygulama, bu özelliği devre dışı bırakarak bu davranışı geçici olarak geçersiz kılabilir (bu da uygulamanın uyumluluk moduna yerleştirildiği önceki davranışa neden olur).
İstisnalar
Android 16 yön, yeniden boyutlandırma ve en boy oranı kısıtlamaları aşağıdaki durumlarda geçerli değildir:
- Oyunlar (
android:appCategory
işaretine göre) - Kullanıcıların, cihazın en boy oranı ayarlarında uygulamanın varsayılan davranışını açıkça etkinleştirmesi
sw600dp
'ten küçük ekranlar
Özelliği geçici olarak devre dışı bırakma
Belirli bir etkinliği kapsam dışında bırakmak için PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY
manifest mülkünü tanımlayın:
<activity ...>
<property android:name="android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY" android:value="true" />
...
</activity>
Uygulamanızın çok fazla bölümü Android 16 için hazır değilse aynı özelliği uygulama düzeyinde uygulayarak özelliği tamamen devre dışı bırakabilirsiniz:
<application ...>
<property android:name="android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY" android:value="true" />
</application>
Sağlık ve fitness
Android 16 (API düzeyi 36), sağlık ve fitness verileriyle ilgili aşağıdaki değişiklikleri içerir.
Sağlık ve fitness izinleri
For apps targeting Android 16 or higher,
BODY_SENSORS
permissions are transitioning to the
granular permissions under android.permissions.health
also used by Health
Connect. Any API previously requiring BODY_SENSORS
or
BODY_SENSORS_BACKGROUND
now requires the corresponding
android.permissions.health
permission. This affects the following data types,
APIs, and foreground service types:
HEART_RATE_BPM
from Wear Health ServicesSensor.TYPE_HEART_RATE
from Android Sensor ManagerheartRateAccuracy
andheartRateBpm
from WearProtoLayout
FOREGROUND_SERVICE_TYPE_HEALTH
where the respectiveandroid.permission.health
permission is needed in place ofBODY_SENSORS
If your app uses these APIs, it should now request the respective granular permissions:
- For while-in-use monitoring of Heart Rate, SpO2, or Skin Temperature:
request the granular permission under
android.permissions.health
, such asREAD_HEART_RATE
instead ofBODY_SENSORS
. - For background sensor access: request
READ_HEALTH_DATA_IN_BACKGROUND
instead ofBODY_SENSORS_BACKGROUND
.
These permissions are the same as those that guard access to reading data from Health Connect, the Android datastore for health, fitness, and wellness data.
Mobile apps
Mobile apps migrating to use the READ_HEART_RATE
and other granular
permissions must also declare an activity to display
the app's privacy policy. This is the same requirement as Health Connect.
Bağlantı
Android 16 (API düzeyi 36), çevre birimleri ile bağlantıyı iyileştirmek için Bluetooth yığınında aşağıdaki değişiklikleri içerir.
Bağ kaybı ve şifreleme değişikliklerini işlemek için yeni intent'ler
As part of the Improved bond loss handling, Android 16 also introduces 2 new intents to provide apps with greater awareness of bond loss and encryption changes.
Apps targeting Android 16 can now:
- Receive an
ACTION_KEY_MISSING
intent when remote bond loss is detected, allowing them to provide more informative user feedback and take appropriate actions. - Receive an
ACTION_ENCRYPTION_CHANGE
intent whenever encryption status of the link changes. This includes encryption status change, encryption algorithm change, and encryption key size change. Apps must consider the bond restored if the link is successfully encrypted upon receivingACTION_ENCRYPTION_CHANGE
intent later.
If your app currently uses custom mechanisms for bond loss handling, migrate to
the new intent ACTION_KEY_MISSING
to detect and manage bond loss
events. We recommend your app guide the user to confirm the remote device is in
range before initiating device forgetting and re-pairing.
Moreover, if a device disconnects after ACTION_KEY_MISSING
intent
is received, your app should be mindful about reconnecting to the device as that
device may no longer be bonded with the system.
Güvenlik
Android 16 (API düzeyi 36), aşağıdaki güvenlik değişikliklerini içerir.
MediaStore sürüm kilidi
Android 16 veya sonraki sürümleri hedefleyen uygulamalarda MediaStore#getVersion()
artık her uygulamaya özgü olacak. Bu sayede, kötüye kullanımı ve parmak izi teknikleri için kullanımını önlemek amacıyla sürüm dizesinden tanımlayıcı özellikler kaldırılır. Uygulamalar bu sürümün biçimiyle ilgili herhangi bir varsayıma kapılmamalıdır. Uygulamalar, bu API'yi kullanırken sürüm değişikliklerini zaten ele almalıdır. Geliştirici, bu API'nin amaçlanan kapsamının dışında ek bilgiler elde etmeye çalışmadığı sürece çoğu durumda mevcut davranışlarını değiştirmeleri gerekmez.