Android 17 platformu, uygulamanızı etkileyebilecek davranış değişiklikleri içerir.
Aşağıdaki davranış değişiklikleri, targetSdkVersion değerinden bağımsız olarak Android 17'de çalışan tüm uygulamalar için geçerlidir. Uygulamanızı test etmeli ve uygun olduğu durumlarda bu değişiklikleri desteklemek için uygulamanızı gerektiği gibi değiştirmelisiniz.
Yalnızca Android 17'yi hedefleyen uygulamaları etkileyen davranış değişiklikleri listesini de incelemeyi unutmayın.
Güvenlik
Android 17, cihaz ve uygulama güvenliğiyle ilgili aşağıdaki iyileştirmeleri içerir.
usesClearTraffic desteğini sonlandırma planı
In a future release, we plan to deprecate the usesCleartextTraffic element.
Apps that need to make unencrypted (HTTP) connections should migrate to
using a network security configuration file, which lets you
specify which domains your app needs to make cleartext connections to.
Be aware that network security configuration files are only supported on API levels 24 and higher. If your app has a minimum API level lower than 24, you should do both of the following:
- Set the
usesCleartextTrafficattribute totrue - Use a network configuration file
If your app's minimum API level is 24 or higher, you can use a network
configuration file and you don't need to set usesCleartextTraffic.
Örtülü URI izinlerini kısıtlama
Şu anda bir uygulama, Send, SendMultiple veya ImageCapture işlemine sahip bir URI ile bir amaç başlattığında sistem, hedef uygulamaya okuma ve yazma URI izinlerini otomatik olarak verir. Bu davranışı Android 18'de değiştirmeyi planlıyoruz. Bu nedenle, uygulamaların sistemin ilgili URI izinlerini vermesini beklemek yerine bu izinleri açıkça vermesini öneririz.
Kullanıcı deneyimi ve sistem arayüzü
Android 17, daha tutarlı ve sezgisel bir kullanıcı deneyimi oluşturmak için aşağıdaki değişiklikleri içerir.
Döndürmeden sonra varsayılan IME görünürlüğünü geri yükleme
Android 17'den itibaren, cihazın yapılandırması değiştiğinde (ör. döndürme yoluyla) ve bu değişiklik uygulamanın kendisi tarafından işlenmediğinde önceki IME görünürlüğü geri yüklenmez.
Uygulamanızın, işlemeyeceği bir yapılandırma değişikliğine uğraması ve değişiklikten sonra klavyenin görünür olması gerekiyorsa bunu açıkça istemeniz gerekir. Bu isteği aşağıdaki yöntemlerden biriyle yapabilirsiniz:
android:windowSoftInputModeözelliğinistateAlwaysVisibleolarak ayarlayın.- Etkinliğinizin
onCreate()yönteminde programatik olarak dokunmatik klavye isteğinde bulunun veyaonConfigurationChanged()yöntemini ekleyin.
Medya
Android 17, medya davranışıyla ilgili aşağıdaki değişiklikleri içerir.
Arka planda ses güvenliğini artırma
Android 17'den itibaren ses çerçevesi, bu değişikliklerin kullanıcı tarafından kasıtlı olarak başlatılmasını sağlamak için ses çalma, ses odağı istekleri ve ses seviyesi değişikliği API'leri dahil olmak üzere arka plandaki ses etkileşimleriyle ilgili kısıtlamalar uygular.
Uygulama geçerli bir yaşam döngüsünde değilken ses API'lerini çağırmaya çalışırsa ses çalma ve ses seviyesi değiştirme API'leri, istisna oluşturmadan veya hata mesajı vermeden sessizce başarısız olur. Ses odağı API'si, AUDIOFOCUS_REQUEST_FAILED sonuç koduyla başarısız oluyor.
Azaltma stratejileri de dahil olmak üzere daha fazla bilgi için Arka plan sesini güçlendirme başlıklı makaleyi inceleyin.