Привет. Мое приложение - это карта API Google. Я хотел бы, чтобы он был совместим со старой версией Android, так что я включил пакет совместимости Android jar v4 в папку libs. В моем манифесте у меня есть:
У меня есть этот сервис, который запускается при запуске моего приложения, и я хочу, чтобы он обновлял местоположение, а затем, когда карта будет загружена, она будет работать быстрее. Итак, у меня есть этот код в методе onCreate моего сервиса:
Criteria criteria = new Criteria();
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
if (isEmulator() || !isOnline())
provider = LocationManager.GPS_PROVIDER;
else
provider = locationManager.getBestProvider(criteria, false);
try {
Location location = locationManager.getLastKnownLocation(provider);
if(location==null || location.getTime()>(new Date().getTime()-Constants.TIEMPO_ENTRE_LOC_UPDATE))
locationManager.requestSingleUpdate(provider, null);
}catch (Exception e){
e.printStackTrace();
}
Дело в том, что когда я запускаю приложение на эмуляторе (google apis level 7) Я получаю эту ошибку:
01-02 12: 21: 30.971: E / AndroidRuntime (523): java.lang.NoSuchMethodError: android.location.LocationManager. requestSingleUpdate
01-02 12: 21: 30.971: E / AndroidRuntime (523): на com.tresipunt.scm.MyService.onCreate (MyService.java:78)
Ну, конечно, я знаю, что запросы единственного обновления недоступны в предыдущих версиях API, но разве пакет совместимости не должен это исправить? Как я мог решить проблему? большое спасибо