Android 10'da başlayarak tarafından yönetilen kişiler-afinite ilgili veriler, İletişim Sağlayıcı bileşen (bir aygıtın iletişim uygulamasında görülen veri kaynağı), Android 9 ve alt göre farklı erişilir.
Android 10'dan önce uygulamalar, verilere erişmek ve bunları bir cihaz ile çevrimiçi hizmetler arasında aktarmak için Kişi Sağlayıcı'yı kullanıyordu. Android 10, Kişi Sağlayıcı'yı kullanan tüm Android 10 cihazlarda daha fazla kullanıcı gizliliği sağlamak için veri erişilebilirliğiyle ilgili değişiklikleri içerir. Birincisi, temel alınan veritabanı, kişi yakınlıkları verilerini içermez. Bu nedenle uygulamalar yazamaz veya ondan okuyamaz. Değişiklikler şunları içerir:
- Kişi Sağlayıcı, bir kullanıcıyla kaç kez iletişime geçildiği, son iletişim zamanı, kullanılan uygulama, iletişime geçilen kişi veya ilgili herhangi bir geçmiş veri gibi kişilerle yakın ilgi alanıyla ilgili verileri kaydetmez.
-
MultiAutoCompleteTextViewİletişim Sağlayıcısı otomatik tamamlama API sınıf etkileşim sayacı tarafından değil sıralama sorgusu sonuçları yapar.
- Android çerçevesi, örtük kişi sıralaması sağlamaz. (Bununla birlikte, kullanıcı tarafından kontrol edilen, açık iletişim gibi kalıntılar) yıldız işaretli kişiler olarak (sıralama).
Bu değişiklikleri uygulamak için aşağıdakilerden birini yapın:
- En son Kişi Sağlayıcıyı kullanın.
- Sürümünüzü güncelleyin (çatallı bir sürüm kullanıyorsanız).
Buna ek olarak, itimat herhangi uygulamaları güncelleyebilir kaldırılan İletişim Sağlayıcısı özellikleri . Kaldırılan işlevlere geçici çözümler olacak şekilde tasarlanmıştır API versiyonları izin verilmez.
Android 9 ve önceki sürümler için, Kişi Sağlayıcıdan gelen kişi etkileşimi verileri kaldırılmadı. Bunun yerine, Android 10'daki eşdeğerini simüle etmek için kişi etkileşimi verileri periyodik olarak (yaklaşık olarak günde bir kez) temizlenir. Kişi Sağlayıcısı bu bilgileri yalnızca geçici olarak saklar.
API değişiklikleri
Bu değişikliklerin API'ler üzerinde büyük bir etkisi olması bekleniyor. Örneğin, otomatik tamamlama sıralaması da iyi performans göstermez. API davranışı üzerindeki olası etkiler aşağıdakileri içerir:
- İletişim Sağlayıcısı için kullanıcının tercihlerini saklamak veya temas ile etkileşimleri olmaz
ContactsContract.Contactstablo sütunları.
- Otomatik tamamlama API'si, sonuçları etkileşim sayacına göre sıralamaz.
-
TIMES_CONTACTED/
TIMES_USEDve
LAST_TIME_CONTACTED/
LAST_TIME_USEDsütunlar güncellenen edilmeyecektir.
- (Birine Bunlar açık
nullAndroid 10'a yükseltme üzerine etkilenen sütunlarda bağlı 0'a veya set).
- Otomatik tamamlama sorgusu API'lerinde sıralama, hiçbir zaman yakınlık bilgilerine göre alfabetik olarak sıralanmış sonuçları döndürür.
- (Filtre dizesini kullanarak, örneğin sık sık temas kurulması API çağrıları
CONTENT_FREQUENT_URIhiçbir sonuç).
Genel olarak, kullanımdan kaldırılan Kişi Sağlayıcı API öğelerinden herhangi biri sayaç kullanıyorsa, bu sayaçlar (Android 10'da kullanıldığında) 0 içerir ve sorgulandığında 0 döndürür. Etkilenen API'lerden gelen güncelleme istekleri yoksayılır. Örneğin,
ContactsContract.DataUsageFeedback bu sınıfa güncelleme ve silme çağrılar dikkate alınmaz böylece sınıf, kullanımdan kaldırıldı.
API'leri etkileyen alanlar
Bu alanlar Android 10'da değişti:
-
ContactsContract.ContactOptionsColumns#TIMES_CONTACTED
-
ContactsContract.ContractOptionsColumns.LAST_TIME_CONTACTED
-
ContactsContract.DataUsageStatColumns#TIMES_USED
-
ContactsContract.DataUsageStatColumns#LAST_TIME_USED
-
ContactsContract#CONTENT_STREQUENT_FILTER_URI
-
ContactsContract.Contacts#CONTENT_STREQUENT_URI
-
ContactsContract.Contacts#CONTENT_FREQUENT_URI
-
ContactsContract.Contacts#ENTERPRISE_CONTENT_FILTER_URI
-
ContactsContract.Contacts#CONTENT_FILTER_URI
Android 10'daki etkilenen alanlar, aşağıdaki tabloda belirtildiği gibi farklı API'lerde bulunabilir. Kullanımdan kaldırılan API alanları, davranışları listelendiği gibi döndürür. Bu kullanımdan kaldırılan alanlardan biri, API'lerinizin birçoğunda kullanılabileceğinden, kullanım durumlarınızı doğrulayın.
|Sınıf||API alanları||10 iade|
| || ||Bu sütunlar, nasıl kullanıldıklarına bakılmaksızın her zaman 0 içerir. Bunları değiştirme girişimleri yoksayılır.|
| || ||İşlem yok.|
| ||İşlem yok.|
| || Strequent (+ sık rol aldı)||İade sadece yıldızlı kişiler. Sık temas edilen kişiler döndürülmedi.|
| || API'leri filtreleyin (otomatik tamamlama olarak da adlandırılır)||Sonuçlar yakınlığa göre sıralanmamıştır. Bunlar Yıldızlı ve adına göre sıralanır.|
alternatifler
Kullanımdan kaldırılan API alanlarının alternatifi yoktur. Yeni API'ler veya yeni alanlar biçiminde olsun, bu kısıtlamaları aşmak için tasarlanmış geçici çözümlere izin verilmez.
uygulama
Bu değişiklikleri uygulamak için herhangi bir şey yapmanız gerekmez. Android işletim sistemi platformunda kullanıcı gizliliğini artırma girişiminin bir parçasıdırlar. Ancak, uygulamalarınız kullanımdan kaldırılan özelliklere güveniyorsa, değişiklikleri telafi etmek için uygulamalarınızı güncellemek isteyebilirsiniz. Ayrıca, Kişi Sağlayıcısının çatallı sürümünü kullanıyorsanız, Kişi Sağlayıcınızı güncellemeniz gerekir.
Özelleştirme yok
Kişilerin yakınlık bilgileri değişikliklerini özelleştirmeyin veya bu değişiklikler etrafında çalışmayın. Çerçevede yerleşik olarak bulunurlar ve herhangi bir değişiklik yapmak sizi uyumluluktan uzaklaştırır. Asla varsayılan ayarları değiştirmeyin veya arka kapı alternatifleri sunmayın.