Önceki sürümlerde olduğu gibi Android 13 de uygulamasını indirin. Aşağıdaki davranış değişiklikleri yalnızca şu hedeflemeyi hedefleyen uygulamalar için geçerlidir: Android 13 veya sonraki sürümler Uygulamanız Android 13 veya sonraki sürümleri hedefliyorsa uygun olduğu durumlarda, uygulamanızı bu davranışları doğru şekilde destekleyecek şekilde değiştirebilirsiniz.
Gizlilik
Bildirim izni, ön plan hizmetinin görünümünü etkiler
Kullanıcı bildirim izni, o sırada ön plan hizmetleriyle ilgili herhangi bir bildirim görmüyor bildirim çekmecesi. Ancak kullanıcılar ön plan hizmetleriyle ilgili bildirimleri görmeye devam ederler. Görev Yöneticisi, ve bildirim izni verilip verilmediğine bakmaksızın.
Yakındaki kablosuz cihazlar için yeni çalışma zamanında istenen izin
Android'in önceki sürümlerinde, kullanıcının uygulamanıza
ACCESS_FINE_LOCATION
Wi-Fi ile ilgili bazı yaygın kullanım alanlarını tamamlamak için izin alır.
Kullanıcıların konum izinlerini kablosuz ağ ile ilişkilendirmesi zor olduğu için
zaten yüklü olduğu zaman Android 13 (API düzeyi 33),
NEARBY_DEVICES
bir cihazın yakındaki erişimlerle olan bağlantılarını yöneten uygulamalar için izin grubu
kablosuz bağlantıdan yararlanırsınız. Bu izin,
NEARBY_WIFI_DEVICES
aşağıdakiler gibi kablosuz ağ kullanım alanlarına uygundur:
- Yazıcı veya medya yayınlama cihazları gibi yakındaki cihazları bulun veya bunlara bağlanın.
Bu iş akışı, uygulamanızın şu tür görevleri yerine getirmesini sağlar:
- AP bilgilerini bant dışında (örneğin, BDE aracılığıyla) alın.
- Kablosuz Aware üzerinden cihazları keşfedip bağlanın ve yalnızca yerel hotspot üzerinden bağlanın.
- Kablosuz Doğrudan Bağlantı üzerinden cihazları keşfedip bağlanma.
- Araba veya akıllı ev cihazı gibi bilinen bir SSID ile bağlantı başlatın.
- Yalnızca yerel bir hotspot başlatın.
- Yakındaki kablosuz ağa duyarlı cihazların yanı sıra.
Uygulamanız, kablosuz ağdan fiziksel konum bilgisi elde etmediği sürece
API'ler için aşağıdaki işlemleri gerçekleştirirken ACCESS_FINE_LOCATION
yerine NEARBY_WIFI_DEVICES
isteyin:
Android 13 veya sonraki bir sürümü hedeflemek ve Wi-Fi API'lerini kullanmak. Beyan ettiğiniz zaman
NEARBY_WIFI_DEVICES
iznini vermeniz durumunda, uygulamanızın hiçbir zaman
Wi-Fi API'lerinden fiziksel konum bilgilerini türetir. Bunu yapmak için,
android:usesPermissionFlags
özelliğini neverForLocation
ile ilişkilendirin. Bu süreç
API düzeyi 31'de (API düzeyi 31) ve sonraki sürümlerde
Bluetooth cihaz bilgilerinin hiçbir zaman
konum'a dokunun.
Şu işlemler hakkında daha fazla bilgi edinin: yakındaki kablosuz cihazlara erişim izni isteme.
Ayrıntılı medya izinleri
Uygulamanız Android 13 veya sonraki bir sürümü hedefliyorsa ve gerekiyorsa
diğer uygulamaların sahip olduğu medya dosyalarına erişme
kullanıyorsanız
yerine aşağıdaki ayrıntılı medya izinlerinden birini veya daha fazlasını isteyebilirsiniz:
READ_EXTERNAL_STORAGE
izin:
Medya türü | İsteme izni |
---|---|
Resimler ve fotoğraflar | READ_MEDIA_IMAGES |
Videolar | READ_MEDIA_VIDEO |
Ses dosyaları | READ_MEDIA_AUDIO |
Başka bir uygulamanın medya dosyalarına erişmeden önce kullanıcının ilgili ayrıntılı medya izinlerini verir.
Şekil 1'de READ_MEDIA_AUDIO
iznini isteyen bir uygulama gösterilmektedir.
Hem READ_MEDIA_IMAGES
izni hem de
Aynı anda READ_MEDIA_VIDEO
izni, yalnızca bir sistem izni
iletişim kutusu görüntülenir.
Uygulamanıza daha önce
READ_EXTERNAL_STORAGE
, istenen tüm READ_MEDIA_*
izinleri verilir
otomatik olarak eklenir. Aşağıdaki ADB komutunu kullanarak
yeni sürüme geçirilen izinler:
adb shell cmd appops get --uid PACKAGE_NAME
Arka planda vücut sensörlerini kullanmak için yeni izin gerekiyor
Android 13, "kullanımdayken" kavramını kullanıma sunuyor erişim: (nabız, sıcaklık ve kandaki oksijen yüzdesi gibi) vücut sensörleridir. Bu erişim modeli, sistemin konum için kullanıma sunduğu modele çok benzerdir. .
Uygulamanız Android 13'ü hedefliyorsa ve vücut sensörüne erişmesi gerekiyorsa
arka planda çalışırken yeni bilgiler de bildirmeniz gerekir.
BODY_SENSORS_BACKGROUND
ve mevcut izinlere ek olarak
BODY_SENSORS
izni gerekir.
Performans ve pil
Pil Kaynağı Kullanımı
Kullanıcı, uygulamanızı
"Kısıtlanmış" durum:
arka planda pil kullanımı
uygulamanız Android 13'ü hedeflese de sistem
BOOT_COMPLETED
yayını veya LOCKED_BOOT_COMPLETED
yayını,
uygulamasının başka nedenlerle başlatıldığı anlamına gelir.
Kullanıcı deneyimi
PlaybackState
kaynağından türetilen medya kontrolleri
Sistem, Android 13 (API düzeyi 33) ve sonraki sürümleri hedefleyen uygulamalar için
şuradan medya kontrolleri:
PlaybackState
işlemleri. Bu
kontrol panelleri gösterebildiğimiz için sisteme,
telefon ve tablet cihazları arasında tutarlılık sağlıyor ve ayrıca
Android Auto ve Android Auto gibi diğer Android platformlarında
Android TV.
Şekil 2'de bunun bir telefon ve tablette nasıl görüneceği gösterilmektedir. tıklayın.
Sistem, Android 13'ten önce MediaStyle
bölümünden en fazla beş işlem gösteriyordu.
bildirimi eklendiği sırayla görürsünüz.
Kompakt modda (örneğin, daraltılmış hızlı ayarlarda)
setShowActionsInCompactView()
ile belirtilen üç işlem
gösterilmişti.
Sistem, Android 13'ten itibaren modele göre beş adede kadar işlem düğmesi gösteriyor.
PlaybackState
üzerinde, aşağıdaki tabloda açıklandığı şekildedir. Kompakt modda, yalnızca ilk üçü
işlem alanları gösterilir. Android 13 veya sonraki sürümleri hedeflemeyen uygulamalar için
bir PlaybackState
içermeyen kontrollerle sistem,
Action
listesi, MediaStyle
bildirimine
önceki paragrafı.
Alan | İşlem | Ölçütler |
---|---|---|
1 | Oynat |
PlaybackState bilgisinin mevcut eyaleti aşağıdakilerden biridir:
|
Yükleme döner simgesi |
PlaybackState bilgisinin mevcut eyaleti aşağıdakilerden biridir:
|
|
Duraklat | PlaybackState bölgesinin mevcut eyaleti yukarıdakilerin hiçbirinden farklıdır. |
|
2 | Önceki | PlaybackState işlem ACTION_SKIP_TO_PREVIOUS içeriyor. |
Özel | PlaybackState işlemleri ACTION_SKIP_TO_PREVIOUS içermiyor ve PlaybackState özel işlemi henüz uygulanmamış bir özel işlem içeriyor. |
|
Boş | PlaybackState ekstralar, SESSION_EXTRAS_KEY_SLOT_RESERVATION_SKIP_TO_PREV anahtarı için true boole değeri içerir. |
|
3 | Sonraki | PlaybackState işlem ACTION_SKIP_TO_NEXT içeriyor. |
Özel | PlaybackState işlemleri ACTION_SKIP_TO_NEXT içermiyor ve PlaybackState özel işlemi henüz uygulanmamış bir özel işlem içeriyor. |
|
Boş | PlaybackState ekstralar, SESSION_EXTRAS_KEY_SLOT_RESERVATION_SKIP_TO_NEXT anahtarı için true boole değeri içerir. |
|
4 | Özel | PlaybackState özel işlemi henüz yerleştirilmemiş bir özel işlem içeriyor. |
5 | Özel | PlaybackState özel işlemi henüz yerleştirilmemiş bir özel işlem içeriyor. |
Özel işlemler
PlaybackState
Uygulama rengi teması, WebView içeriğine otomatik olarak uygulanır
Android 13 (API düzeyi 33) veya sonraki sürümleri hedefleyen uygulamalar için
setForceDark()
yönteminin desteği sonlandırıldığından, yöntem çağrılırsa işlem geçersiz olur.
Bunun yerine WebView artık her zaman
uygulamanın tema özelliğine göre prefers-color-scheme
medya sorgusu
isLightTheme
Başka
kelimeler, isLightTheme
true
ise veya belirtilmezse prefers-color-scheme
olur
light
; Aksi takdirde, dark
olacaktır. Bu davranış, web içeriğinin
açık veya koyu stil,
içerikler bunu destekliyor.
Çoğu uygulama için yeni davranış, uygun uygulama stillerini uygulamalıdır Ancak yine de uygulamanızı test ederek size kötü amaçlı yazılım koyu mod ayarlarını manuel olarak kontrol ediyor olabilir.
Uygulamanızın renk teması davranışını yine de özelleştirmeniz gerekiyorsa
setAlgorithmicDarkeningAllowed()
yöntemini kullanın. Önceki Android sürümleriyle geriye dönük uyumluluk için
eşdeğeri
setAlgorithmicDarkeningAllowed()
yöntemidir.
Hangi davranışı uygulayabileceğiniz hakkında daha fazla bilgi edinmek için söz konusu yöntemin belgelerine bakın
uygulamanıza bağlı olarak
targetSdkVersion
ve tema
Ayarlar'da devre dışı bırakabilirsiniz.
Bağlantı
BluetoothAdapter#enable() ve BluetoothAdapter#disable() desteği sonlandırıldı
Android 13 (API düzeyi 33) veya sonraki sürümleri hedefleyen uygulamalar için
BluetoothAdapter#enable()
ve
BluetoothAdapter#disable()
yöntemlerinin desteği her zaman sonlandırılmıştır
iade false
.
Aşağıdaki uygulama türleri bu değişikliklerden muaftır:
- Cihaz Sahibi uygulamaları
- Profil Sahibi uygulamaları
- Sistem uygulamaları
Google Play hizmetleri
Reklam kimliği için izin gerekiyor
Google Play Hizmetleri'nde reklamları kullanan uygulamalar
ID ve
Android 13 (API düzeyi 33) ve sonraki sürümleri hedeflemelidir
Uygulamasında AD_ID
normal iznini beyan etmesi
aşağıdaki gibi bir manifest dosyası oluşturun:
<manifest ...>
<!-- Required only if your app targets Android 13 or higher. -->
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
<application ...>
...
</application>
</manifest>
Uygulamanız Android 13 veya sonraki sürümleri hedeflerken bu izni beyan etmezse reklam kimliği otomatik olarak kaldırılır ve yerine bir dize anlamına gelir.
Uygulamanız, kitaplıkta AD_ID
iznini beyan eden SDK'lar kullanıyorsa
manifest dosyasıyla birleştirilirse bu izin, uygulamanızın manifest dosyasıyla
varsayılandır. Bu durumda, uygulamanızın alt bölümünde izni beyan etmeniz gerekmez
manfiest dosyanıza ekleyin.
Daha fazla bilgi için Reklamcılık kimliği inceleyebilirsiniz.
SDK dışı kısıtlamalar güncellendi
Android 13, SDK dışı kısıtlanmış öğelerin güncel listelerini içerir Android geliştiricileriyle ortak çalışmaya dayalı arayüzler ve en yeni dahili test. Mümkün olduğunda, herkese açık alternatiflerin SDK dışı arayüzleri kısıtlamadan önce kullanıma sunuyoruz.
Uygulamanız Android 13'ü hedeflemiyorsa bu değişikliklerden bazıları sizi hemen etkilemeyebilir. Ancak şu anda SDK olmayan arayüzler (uygulamanızın hedef API'sine bağlı olarak) düzeyi) tıklayın. SDK dışı bir yöntem veya alan kullanmak her zaman uygulamasını indirin.
Uygulamanızın SDK olmayan arayüz kullanıp kullanmadığından emin değilseniz uygulama öğrenin. Uygulamanız SDK dışı arayüz kullanıyorsa alternatiflerine geçiş yaptık. Bununla birlikte, bazı uygulamalarda SDK dışı arayüzler için geçerli kullanım alanları. Alternatif bir alternatif bulamazsanız Uygulamanızdaki bir özellik için SDK olmayan arayüz kullanmak istiyorsanız yeni genel API.
Android'in bu sürümündeki değişiklikler hakkında daha fazla bilgi edinmek için Android 13'teki SDK dışı arayüz kısıtlamaları. SDK dışı arayüzler hakkında genel olarak daha fazla bilgi edinmek için SDK dışı arayüzler hakkında daha fazla bilgi edinin. bilgi edinin.