2011-03-10 18 views
5

Android'de konum sağlayıcısının durumunu almanın en iyi yolu nedir? Konum güncellemeleri için bir LocationListener kaydederken, durum değiştiğinde onStatusChanged(String provider, int status, Bundle extras) geri araması çağrılır. Ancak, konum güncellemelerine kaydolmadan mevcut durumu (AVAILABLE, OUT_OF_SERVICE, TEMPORARILY_UNAVAILABLE) almak için bir yol bulamadım. isProviderEnabled yöntemi, sağlayıcının genellikle hizmet dışı olup olmadığını (aygıtın ayarlarında) gösterir, bu nedenle hizmet sağlayıcısına rağmen true dönebilir ... Bunu yapmak için başka bir yolu var mı?Android Yer API'si: Sağlayıcı Durumu Al

Başka bir soru: Konum güncellemelerini kaydetmeden durum güncellemelerini dinlemek mümkün mü? Konumlar için belirli bir sağlayıcıyı dinlemek istiyorum, ancak aynı zamanda başkalarının müsait olup olmadığını kontrol etmek istiyorum. Benim şu anki çözümüm, minimum zaman ve mesafeyi çok yüksek bir değere ayarlamaktır, ama daha iyi bir çözüm olup olmadığını merak ediyorum ...

Herhangi bir ipucu için teşekkürler!

Btw: Mümkünse GPS durumunu istiyorsun Neden konumda ilgi değilseniz, çözümleri, Android 1.1

+0

Ne istediğinizi nasıl yapacağımı bilmiyorum. Ancak bilinen son konumu ('LocationManager.getLastKnownLocation') alabilir ve yeni olup olmadığını öğrenebilirsiniz. Sağlayıcı müsaitse veya olmasın, bu size bir tahmin verecektir. –

cevap

2

ile çalışmalıdır? (3D düzeltme için 5

final GpsStatus gs = this.locationManager.getGpsStatus(null); 
int i = 0; 
final Iterator<GpsSatellite> it = gs.getSatellites().iterator(); 
while(it.hasNext()) { 
    it.next(); 
    i += 1; 
} 
this.gpsSatsAvailable = i; 

http://developer.android.com/reference/android/location/GpsStatus.html Sen doğru 2B düzeltme için en az 4 uydu gerekecektir bakın ve:

Ancak böyle GPS durumu en azından bazı yönlerini alabilirsiniz rakım dahil). Belgelere göre tutarlı bilgi almak için onStatusChanged() durumundan erişmeniz gerekir. Bu yöntemin dışında da çalışır. Bağlantılı belge hangi sorunların ortaya çıkabileceğini açıklar. Elbette, GPS güncellemesi başka şekilde güncellenmediğinden, konum güncellemelerini dinlemeniz gerekiyor.

+0

Neden? Benim durumumda, çeşitli yerleşik ve bluetooth bağlantılı sensörlerin durum ekranını görüntüleyen bir teknik uygulama geliştirdiğim için, sadece görüntülenmek üzere bir başlangıç ​​değerine sahip olmak anlamlıdır. Daha fazla felsefi olarak, eğer “statü” kendi değişim işleyicisine layık olacak kadar önemliyse, şu anki değerini sorgulayabilmek için yeterince önemlidir. – GISmatters

+0

Orada bir nokta var. – Stefan

İlgili konular