Uygulamamda, her iki konum sağlayıcısını kullanmak istiyorum.GPS ve Ağ sağlayıcı arasında nasıl geçiş yapabilirim?
Bu, eğer gps devre dışı bırakıldıysa, uygulamamın ağa geçmesini ve gps'nin tekrar açılmasını sağladığını gösterir.
Bu iki isteği işlemek için iki LocationListener kullanıyorum.
public void onStatusChanged(String provider, int status,Bundle extras)
switch (status) {
case LocationProvider.TEMPORARILY_UNAVAILABLE:
......
break;
case LocationProvider.OUT_OF_SERVICE
.....
break;
case LocationProvider.AVAILABLE
.....
break;
}
Ve her bir dinleyici içinde
, benonStatusChanged()
bu durumu algılar. Anlaşıldı, bu yöntem ilk değişiklikte (devre dışı bırakılmış ağ) kullanılacak, ancak ağı tekrar etkinleştirdiğimde hiçbir şey gösterilmiyor. Bu neydi? Dinleyici durumu her zaman tespit edemez mi ??
Lütfen bana yardım et, kodda çözüm yollaman iyi olurdu ... Teşekkürler!
bakış. – user370305
Guys, yeni çözüm, user370305 ve Fedor'un çalışmalarının birleşimidir. Fedor, doğru konum sağlayıcısını başlatmak ve seçmek için iyi bir iş yaptı. Ve user370305 yardımı ile. Ağ/gps durumunu tespit etmek için bir iş parçacığı başlatabiliriz. Çünkü, 'removeUpdates()' yaparsanız, dinleyici artık çalışmayacaktır. Yani, 'LocationProvider.AVAILABLE' durumda işe yaramaz. Sadece yeni bir istek yapmak için iş parçacığı kullanabilirsiniz. (Çok iyi bir şey olmadığını biliyorum, yani daha iyi bir çözüm varsa, lütfen bana bildirin, bunu görmeye bayılırım! Teşekkürler!) – alvan