Yaklaşık konum al

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 ağ konumunu (FLP) kullanır, çünkü hızlıdır ve daha az güç tüketir.

Android tabanlı mobil cihazlara kıyasla otomotiv uygulamalarındaki ağ konumu daha zorlayıcı olabilir. İki Android API'si kullanabilirsiniz:

  • LocationManager API, tercih edilen konum bilgisini açık bir şekilde tanımlamanızı gerektirir. konum sağlayıcı

  • Google Play Services API, şunları yapmanız için daha basit bir yol sunar: Artık Çok Kaynaklı Konum Sağlayıcı (Fused Location Provider) teknolojisiyle konumla çalışma (FLP).

Birçok otomotiv uygulaması, FLP yerine Google Play Hizmetleri (GPS) API'sini LM. FLP, konum isteğine göre en uygun konum sağlayıcıyı seçer tarafından ihtiyaç duyulan ölçütler ve politikalar (güç ve doğruluk).

Bunun yerine, verileri açıkça isteme ve LM'de NETWORK_PROVIDER ve Daha hassas konumlar için GPS_PROVIDER android.permission.ACCESS_FINE_LOCATION izin verir. API 31'de FUSED_PROVIDER, önceden yalnızca GPS API aracılığıyla erişilebilecek LM tarafından konum sağlayıcı olarak kullanılabilir. Daha basit bir uygulama yönetimi, FusedLocationProvider.java.

GPS_PROVIDER yalnızca genel izin haklarıyla kullanılabilir, ancak beklentileri karşılamak için doğruluğu yapay olarak azalttığından 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 (Google Mobil Hizmetleri bulunan) kullanılan NETWORK_PROVIDER yalnızca yakındaki baz istasyonlarına göre konum belirlemeden kablosuz erişim noktalarını, hatta Bluetooth (BT) işaretçilerini de kullanabilir. Kullanım NETWORK_PROVIDER için veri bağlantısı gerekebilir.

Otomotiv uygulamaları için cihaz kısıtlamaları farklıdır. GNSS normalde etkin olduğu için artan güç ve pil kullanımı nedeniyle ceza almamaktadır. Kullanıcı IVI çalışma süresinden ödün verilmez. Veri alışverişini en aza indirmeye çalışıyoruz yeni bir ileti dizisidir.

Bu nedenle birçok uygulama, FLP yerine doğrudan LM yerine Play API'den FLP kullanır yapabilecek en iyi konum sağlayıcıyı kullanarak akıllı olanı otomatik olarak yapar. konum isteği ölçütlerini/politikalarını (yani güç ve doğruluk) karşılama işin mutfağını öğrenin.

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ı

Ç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 ve kullanımlardan yararlanmaktadır. 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.

Bunun gibi nadir görülen durumlarda, toplantı 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ın daha yüksek kalitede bir istek gerektirir android.permission.ACCESS_COARSE_LOCATION kullanabilir ve FLP'yi kullanmaya devam edebilir (kullanılabilir olduğunda) Alternatif olarak, son çare olarak doğrudan GPS_PROVIDER kullanın aynı izinlere sahip olursunuz. Çerçeve, temel verilerin kesinliğini azaltır GNSS'nin pozisyonu, API beklentileriyle örtüşüyor. Daha fazla bilgi edinmek için Doğruluk bölümüne bakın.

Ayrıca bu uygulamalar android.hardware.location.network bu özelliği isteğe bağlı olarak ayarlayabilirsiniz. Ö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.