2013-07-24 27 views
11

Android'i GPS ile kullandığım diğer platformlardan programlamam gerekiyor. diğer platformlarda GPS HW (düşük seviyeli bir GPS sürücüsü vardı) erişimim vardı ve bu sayede GPS güncellemelerini saniyede 5 kez ve hatta daha fazla alabilirim. Şimdi Samsung Galaxy S2 ile çalışıyorum (ki bu bana açıkAndroid cihazımda GPS Donanımı'ndan en yüksek GPS güncelleme hızını almak

mlocManager.requestLocationUpdates( 
    LocationManager.GPS_PROVIDER, 0, 0, mlocListener 
); 

ben saniyede 1 güncellemesini almak (veya 800ms olarak: onun GPS çok güçlüdür ve böyle asgari mesafe ve asgari sürede güncellemeleri tedarik GPS sağlayıcı ayarladığınızda anda ikinci başına birkaç güncelleştirme sağlayabilmektedir o benim uygulama için çok düşük olan iki güncellemeler arasındaki en küçük boşluk.Gerçekte bir şekilde daha fazla güncelleme bildirmek için GPS HW zorlamak için bir yolu var mı? Ben kullanıcı maruz değil ama hala kayıtlarının erişmek için bir yolu var sanırım Bir şekilde GPS HW?

+0

1hz'den daha fazlasını alabileceğinizi sanmıyorum. Ayrıca, uygulamanızın 1'ler arası müdahale ile çalışamayacağından şüphe duyuyorum, İnterpolasyondan ne haber? – AlexWien

+0

QStarz'dan 10hz yapacak başka bir Bluetooth GPS'im var. – user2613743

+0

Gerçekten, enterpolasyon bir çözümdür. Bir araba yerini takip etmeye çalışıyorum, bu yüzden 100kmh'de 1 saniye ~ 30 metredir ve daha iyi ayrıntılara ihtiyacım var. Ayrıca, bilmek istiyorum (burada herhangi bir vücut biliyorsa) GPS hesaplamanın gecikmesi nedir. Yani, konumu bildirdiğinde, bu yerdeyken ne kadar zaman geçtiyse. Bu da şu anda örneğin nerede olduğumuzu anlamak için enterpolasyona ihtiyaç duyar. Yani eğer 1 saniye ya da yarım saniyede olursa, şimdi olduğumuz yer için 2 saniye aramalıyız ve bu benim için gerçekten kötü. – user2610687

cevap

3

Şu anda, telefonun çoğunda bir saniyeden daha hızlı güncelleştirmeleri alamıyorsunuz. Bu, donanım gps sınırlamasıdır.

Genellikle telefonların çoğunda 1 sa.

kullandığınız nerede tüm donanım ve senaryo bağlıdır

(Kapalı, Açık)

Ama yine kullanarak onay verebilir

LocationRequest setFastestInterval (long millis) 

Bu uygulama pasif hızlı bir oranda yerleri kazanmasını sağlamaktadır konumları aktif olarak satın aldığından, güç tasarrufu sağlar.

setInterval'ın (uzun) aksine, bu parametre doğrudur. Uygulamanız hiçbir zaman bu değerden daha hızlı güncellemeler almayacak.

Bu yöntem, uygulamanızın konum güncellemelerini işleyebildiği en hızlı hızı milisaniye olarak ayarlar. Bu oranı, diğer uygulamalar da güncellemelerin gönderilme oranını etkilediği için ayarlamanız gerekir. Konum Servisleri, herhangi bir uygulamanın LocationRequest.setInterval() öğesini arayarak istediği en yüksek hızda güncellemeleri gönderir.

Bu oran uygulamanızın yapabileceğinden daha hızlı ise, UI titremesi veya veri taşması ile ilgili sorunlarla karşılaşabilirsiniz.

+0

gps donanım sınırı hakkında bilgi aldığınız kaynağa bir bağlantı gönderebilir misiniz? –