để yêu cầu người sử dụng để kích hoạt GPS, hãy khám phá link
Dưới đây sẽ là nội tạng của một hàm mà cố gắng để có được loca GPS mới nhất tion theo thứ tự độ chính xác giảm dần. Nếu người dùng không bật GPS, bạn không thể bật tính năng này. Điều tốt nhất bạn có thể làm là lấy vị trí đã biết cuối cùng hoặc nhắc họ bật GPS. Mỗi khi người dùng sử dụng GPS trong một ứng dụng khác và có được một tọa độ mới hoặc kết nối với mạng không dây, vị trí được biết cuối cùng sẽ thay đổi. Tôi cho rằng bạn có thể viết một dịch vụ nền để thăm dò dữ liệu này sau mỗi 5-10 phút và gửi cho bạn. Mặc dù, tôi không đồng ý với hướng bạn dường như đang hướng đến ứng dụng này. lol. Đối với Khoa học!
LocationManager lm = (LocationManager)act.getSystemService(Context.LOCATION_SERVICE);
Criteria crit = new Criteria();
crit.setAccuracy(Criteria.ACCURACY_FINE); String provider = lm.getBestProvider(crit, true);
Location loc = lm.getLastKnownLocation(provider);
if(loc){
return loc;
}
lm = (LocationManager)act.getSystemService(Context.LOCATION_SERVICE);
crit = new Criteria();
crit.setAccuracy(Criteria.ACCURACY_COARSE);
provider = lm.getBestProvider(crit, true);
loc = lm.getLastKnownLocation(provider);
if(loc){
return loc;
}
lm = (LocationManager)act.getSystemService(Context.LOCATION_SERVICE);
crit = new Criteria();
crit.setAccuracy(Criteria.NO_REQUIREMENT);
provider = lm.getBestProvider(crit, true);
loc = lm.getLastKnownLocation(provider);
return null;
nếu đó là trường hợp, là có một cách để chạy một chức năng trong nền ngay khi gps đã được kích hoạt? – HeWhoProtects
Vâng, có ['GpsStatus.Listener'] (http://developer.android.com/reference/android/location/GpsStatus.Listener.html) và có ba phương thức trạng thái trong [' LocationListener'] (http://developer.android.com/reference/android/location/LocationListener.html). –
hmm có thể là một cách xung quanh nó ... Tôi sẽ có một cái nhìn, cảm ơn Tháng Mười – HeWhoProtects