我想在Android中每10秒钟后定期使用后台服务获取当前位置的纬度和经度。获取当前位置经纬度在android中使用后台服务
0
A
回答
0
首先,你必须写一个服务:
public class MyService extends Service {
Timer timer;
Handler yardimci;
public static long TIME = 10000;
private GPSControlService gpsControlService;
@Override
public void onCreate() {
super.onCreate();
gpsControlService = new GPSControlService(this) {
@Override
public void findLocationCompleted(Location location) {
Log.i("Service", location.getLatitude() + " - " + location.getLongitude() + " - " + location.getAccuracy());
}
};
timer = new Timer();
yardimci = new Handler(Looper.getMainLooper());
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
Log.i("Service", "GPS controlled");
gpsControl();
}
}, 0, TIME);
}
private void gpsControl() {
yardimci.post(new Runnable() {
@Override
public void run() {
gpsControlService.run();
}
});
}
@Override
public void onDestroy() {
timer.cancel();
super.onDestroy();
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
GPSControlService:
public class GPSControlService {
private GPSModule gpsModule;
public GPSControlService(Service service) {
gpsModule = new GPSModule(service);
}
public void run(){
if (gpsModule.canGetLocation()) {
if (gpsModule.getLocation() != null) {
findLocationCompleted(gpsModule.getLocation());
}
gpsModule.stopUsingGPS();
}
}
public void stop(){
gpsModule.stopUsingGPS();
}
public void findLocationCompleted(Location location){}
}
我需要写一个GPSModule 当LocationListener的植入,它会找出位置,它发出的位置用getLocation()方法
public Location getLocation() {
// return location
}
0
你可以使用位置监听器来做到这一点。
private class MyLocationListener implements LocationListener {
public void onLocationChanged(Location location) {
String message = String.format(
"New Location \n Longitude: %1$s \n Latitude: %2$s",
location.getLongitude(), location.getLatitude());
latitude = location.getLatitude();
longitude = location.getLongitude();
Toast.makeText(DirectionActivity.this, message,Toast.LENGTH_LONG).show();
}
public void onStatusChanged(String s, int i, Bundle b) {
Toast.makeText(DirectionActivity.this, "Provider status changed",
Toast.LENGTH_LONG).show();
}
public void onProviderDisabled(String s) {
Toast.makeText(DirectionActivity.this,
"Provider disabled by the user. GPS turned off",
Toast.LENGTH_LONG).show();
}
public void onProviderEnabled(String s) {
Toast.makeText(DirectionActivity.this,
"Provider enabled by the user. GPS turned on",
Toast.LENGTH_LONG).show();
}
}
您可以通过
private static final long MINIMUM_DISTANCE_CHANGE_FOR_UPDATES = 1; // in Meters
private static final long MINIMUM_TIME_BETWEEN_UPDATES = 1000; // in Milliseconds
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, MINIMUM_TIME_BETWEEN_UPDATES,
MINIMUM_DISTANCE_CHANGE_FOR_UPDATES, new MyLocationListener());
0
相关问题
- 1. 获取当前位置的经纬度
- 2. 获取当前位置经度和纬度在android
- 3. 如何获取Android中当前位置的纬度和经度?
- 4. 如何在android中使用后台服务获取纬度和经度?
- 5. Android - 如何获取当前位置(经度和纬度)?
- 6. 从Android获取当前位置后台服务问题
- 7. 当前位置,经度和纬度
- 8. GPS启用后获取用户当前的经纬度 - Android
- 9. 获取当前位置的经度和纬度
- 10. 如何获取黑莓当前位置的经度和纬度?
- 11. Python烧瓶GoogleMaps获取用户当前位置的经纬度
- 12. 在Android中获取API 23以上的当前位置经纬度
- 13. 获取当前的纬度和经度在android应用程序
- 14. 获取用户当前的经/纬度
- 15. android后台服务获取位置
- 16. 找到当前位置的经纬度
- 17. 如何获得当前位置(经度,纬度),而gps关闭使用FusedLocationApi android
- 18. 从后台服务没有获取经纬度
- 19. 如何获取当前位置的经纬度?
- 20. 如何定期获取当前位置的经纬度。
- 21. 如何使用JAVA获取我当前位置的经度和纬度
- 22. 根据当前在servlet中的位置获取附近的经度和纬度
- 23. 如何在iOS 4.0/4.2中获取当前位置的经度和纬度?
- 24. 获取当前纬度和经度在android上
- 25. 获取当前的经纬度
- 26. 使用后台服务获取每1分钟或每1km更改的当前位置使用后台服务
- 27. 在Java中获取用户当前的纬度和经度
- 28. 如何使用Android mapview在模拟器中获取当前位置(经度和纬度)?
- 29. 在Google Places API中嵌入当前位置(经度和纬度)
- 30. 如何获取android移动设备当前位置的经纬度?
对不起,但哪里有问题? –
“我想通过后台服务获得当前的经度和纬度”----我怎样才能获得?这是我的问题 – suman
请做你自己的研究。我相信谷歌充满了关于这个主题的信息 –