Kullanıcı gizliliğine saygı göstermek için, uygulama geliştiricilerin yalnızca konum izinleri. Genellikle yaklaşık bir genel konuma ihtiyaç duyan uygulamalar çok hızlı olduğu ve daha az güç tükettiği için çok kaynaklı ağ konumunu (FLP) kullanmalıdır. Android tabanlı mobil cihazlara kıyasla otomotiv uygulamalarındaki ağ konumu daha zorlayıcı olabilir. İki Android API'si kullanabilirsiniz:
LocationManager API,
requestLocationUpdates
Böylece, tercih edilen konum sağlayıcıyı açıkça belirtebilirsiniz.Google Play Services API, şunları yapmanız için daha basit bir yol sunar: şurada konumla çalışın:
FusedLocationProviderClient
.
Birçok otomotiv uygulaması, Google Play Hizmetleri API'sindeki FLP yerine
LocationManager
FLP, konuma göre en uygun konum sağlayıcıyı seçer
Aracın ihtiyaç duyduğu ölçütleri ve politikaları (güç ve doğruluk) isteme.
Bunun yerine açıkça istekte bulunmayı ve
NETWORK_PROVIDER
yanı sıra
Şunun için GPS_PROVIDER
:
hassas pozisyonlar ise
android.permission.ACCESS_FINE_LOCATION
izin verir. Android 12 (API düzeyi 31) ve sonraki sürümlerde
FUSED_PROVIDER
önceden yalnızca Google Play Hizmetleri API'si yoluyla erişilebilen,
LocationManager
tarafından konum sağlayıcı olarak kullanılabilir. FLP uygulamasını şurada görebilirsiniz:
FusedLocationProvider.java
.
GPS_PROVIDER
yalnızca genel izin haklarıyla kullanılabilir ancak
beklentileri karşılamak için doğruluğu yapay olarak azaltır ve
Android telefonları hedefleyen geliştiriciler için pek bir anlam ifade etmemektedir çünkü
ve genel bir konum elde etmek için genellikle daha yavaş kullanılabilir.
Otomotivdeki ağ konumu
Android telefonlarda kullanılan NETWORK_PROVIDER
(Google Mobil Hizmetleri ile)
konumu belirlemek için yakındaki baz istasyonlarına, Wi-Fi erişim noktalarına ve
Bluetooth (BT) işaretçileri Bu nedenle, NETWORK_PROVIDER
için veri gerekebilir
bağlantı.
Otomotiv uygulamaları için cihaz kısıtlamaları farklıdır. Çünkü Gthe global gezinme uydu sistemi (GNSS) genellikle çalışır durumda olduğundan, güç ve pil kullanımını artırdı. Sonuç olarak, IVI çalışma süresinden ödün verilmez. Sunucularımızla veri alışverişini en aza indirmeye çalışıyoruz.
Bu nedenle birçok uygulama, LocationManager
yerine Play API'den FLP kullanır
Konumu kullanarak akıllı şeyi otomatik olarak yaptığı gibi, doğrudan
konum isteği ölçütlerini/politikalarını en iyi şekilde karşılayan sağlayıcı (yani güç
ve doğruluk).
Mobil cihazların aksine, araçlar nadiren bir yerden başka bir yere atlayıp başka bir tane. Aracın konumu çoğu zaman kaputun altında bilinir.
Ağ konumu sağlayıcı (NLP)
Çoğu araç, gerekli bilgileri almak için gerekli telefon API'lerini uygulamaz hücre kimliğinde (ve sinyal gücünde) kullanılabilir. Sonuç olarak, verileri en aza indirdiğimiz için NLP'nin ek işlevsel uygulaması sağlanmamıştır.
Çok kaynaklı konum sağlayıcı
Mobil FLP, ağ ve GPS sağlayıcılarını akıllı bir şekilde kullanmanın yanı sıra,
ve sinyalleri daha da iyileştirmek için diğer sensörlerden gelen bilgileri
ve konum kalitesine katkıda bulunur. Otomobil FLP'nin şu anki uygulanmasıyla birlikte
diğer el yukarıda bahsi geçen varsayımlardan yararlanır ve
GPS_PROVIDER
her zaman temel kaynak olarak kullanılıyor. Pozisyonları uyumlu bir şekilde
kullanarak daha doğru sonuçlar elde edebilirsiniz. Örneğin,
Müşteriye yaklaşık konumlar sağlandığında.
Aynı şekilde, nadiren de olsa bir oturum açma süreci için normalden daha uzun bir süre kullanılabilir olması gerekir. Örneğin, bir araç veya aracı ilk kez konum alt sistemi kullanılır veya çekildikten sonra kullanılır.
Mobil ve otomotiv kullanımlarını hedefleyecek uygulamalar tasarlama
Bunu yapmayan mobil ve otomotiv cihazlarını hedefleyen uygulamalar için
daha yüksek kalitede hassasiyet gerektirir,
android.permission.ACCESS_COARSE_LOCATION
yalnızca FLP'yi kullanabilirsiniz. Alternatif olarak,
Doğrudan aynı izinlerle GPS_PROVIDER
. Bu çerçeve,
temel GNSS pozisyonunun kesinliğinin API beklentileriyle örtüşmesi açısından önemlidir. Alıcı:
Daha fazla bilgi için Doğruluk bölümüne bakın
Konum izni isteme başlıklı makaleyi inceleyin.
Ayrıca bu uygulamalar
android.hardware.location.network
bu özelliği manifest dosyalarında isteğe bağlı olarak kullanabilir. Örnek:
<uses-feature android:name="android.hardware.location.network" android:required="false" />
Bu yaklaşım, farklı sektörlerdeki cihazlarla maksimum uyumluluk sağlar Bu nedenle, uygulama kullanılabilirliğiyle ilgili kodlar açısından herhangi bir fark olmadan daha fazla bilgi edindiniz.