Kişi Sağlayıcı ve Yakın İlgi Alanı Bilgileri

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.Contacts tablo sütunları.
  • Otomatik tamamlama API'si, sonuçları etkileşim sayacına göre sıralamaz.
  • TIMES_CONTACTED / TIMES_USED ve LAST_TIME_CONTACTED / LAST_TIME_USED sütunlar güncellenen edilmeyecektir.
    • (Birine Bunlar açık null Android 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_URI hiç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:

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
ContactsContract.Contacts
ContactsContract.RawContacts
ContactsContract.Data
ContactsContract.Entity
ContactOptionsColumns
TIMES_CONTACTED
LAST_TIME_CONTACTED
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.
Contacts markAsContacted() İşlem yok.
ContactsContract.DataUsageFeedback

update
delete

İşlem yok.
ContactsContract.Contacts Strequent (+ sık rol aldı)
CONTENT_STREQUENT_FILTER_URI
CONTENT_STREQUENT_URI
CONTENT_FREQUENT_URI
İade sadece yıldızlı kişiler. Sık temas edilen kişiler döndürülmedi.
ContactsContract.CommonDataKinds.Email
ContactsContract.CommonDataKinds.Phone
ContactsContract.CommonDataKinds.Callable
API'leri filtreleyin (otomatik tamamlama olarak da adlandırılır)

CONTENT_FILTER_URI
ENTERPRISE_CONTENT_FILTER_URI

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.