Soru & Cevap

GPS Location

28.11.2013 - 09:48

Merhaba,

Üzerinde çalıştığım bir projede GPS üzerinden lokasyon bilgilerini (enlem, boylam ve adres) alıyorum fakat bazı telefonlarda her üçünü de alabildiğim halde bazılarında yalnızca enlem ve boylamı alabiliyorum (Android versiyonları aynı. Ör: 4.1.2) bunun sebebi ne olabilir? Bir diğer sorum ise;

GPS kapalı ise aktif hale getirmek için Lokasyon ayarlarına yönlendirip kullanıcı tarafından manuel olarak aktifleştirebiliyorum. Kullanıcıya sormadan program açıldığı anda direk olarak GPS i aktif hale getirebilme imkanım var mı?

20 Görüntülenme

6 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-3650-1421928561.jpg
anilsozeri
30.11.2013 - 02:56

Anladım, yardımcı olduğunuz için teşekkürler.

Profile picture for user canciloglu
canciloglu
30.11.2013 - 02:46

Geocoder sınıfı Android SDK'da bulunuyor, bulunmayan Gecocoder sınıfının adres bilgisini bulmada kullandığı backend servisi. Bu servis olmadan Geocoder'dan adres bilgisi alamazsın. Verdiğin örnek üzerinden gidersek, demek ki Samsung bu servisi S3'ün ROM'una entegre etmiş ama S3 Mini'de etmemiş. Yeterince açık olmuştur umarım.

picture-3650-1421928561.jpg
anilsozeri
30.11.2013 - 10:06

Android çatısında olmadığını söylüyorsunuz ama sonuç olarak Geocoder için android.location' ın içindeki class ı çağırıyoruz nasıl Android in bir parçası olmuyor onu anlayamadım? Örnek vermek gerekirse biz bu denemeleri Samsung Galaxy S3 ve S3 Mini cihazlarında denedik S3'te alırken S3 Mini de almadı adres bilgisini.

Profile picture for user canciloglu
canciloglu
30.11.2013 - 03:21
Tabii, adresi almak için muhtemelen Android Framework içindeki Geocoder (android.location.Geocoder) sınıfını kullanıyorsunuz. Geocoder sınıfı adres bilgisini verebilmek için arkada çalışan bir servise ihtiyaç duyar ve bu servis ana Android çatısının bir parçası değil. Her cihaz üreticisi bu servisi cihaz yazılımına eklemiyor ve bu servisin olmadığı cihazlarda adres bilgisi null dönüyor. Bu servisin var olup olmadığını anlamak için Geocoder sınıfındaki isPresent() metodunu kullanabilirsiniz.
picture-3650-1421928561.jpg
anilsozeri
29.11.2013 - 01:31

Tamam, teşekkürler peki ilk sorum hakkında herhangi bir bilginiz var mı veya daha önce böyle bir durumla karşılaştınız mı?

Profile picture for user canciloglu
canciloglu
29.11.2013 - 08:12

Selamlar,

Android işletim sisteminde kullanıcı kontrolündeki donanım ayarlarını (GPS, WiFi, Bluetooth vs.) kullanıcı onayı olmadan programatik olarak açıp kapayamaz veya değişiklik yapamazsınız. Bu işletim sisteminin bir güvenlik önlemidir.