Какие фиктивные местоположения нужны:
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION">
Также в настройках телефона Android установите флажок «Разрешить фиктивные местоположения»
locationManager.addTestProvider(mocLocationProvider, false, false,
false, false, true, true, true, 0, 5);
locationManager.setTestProviderEnabled(mocLocationProvider, true);
.Теперь, когда вы хотите отправить местоположение, позвоните по этому коду:
Location mockLocation = new Location(mocLocationProvider); // a string
mockLocation.setLatitude(location.getLatitude()); // double
mockLocation.setLongitude(location.getLongitude());
mockLocation.setAltitude(location.getAltitude());
mockLocation.setTime(System.currentTimeMillis());
locationManager.setTestProviderLocation( mocLocationProvider, mockLocation);
.
Но это работает только в первый раз
Потому что выназвал это один раз.
Мне нужно сделать сервис для того, что я хочу сделать
Вы можете сделать это, даже AsyncTask сделает
doэто или нет: lm.requestLocationUpdates ()
Да, вы должны с mocLocationProvider
Я уже несколько раз вызываю метод setLocation (широта, долгота), ноэто работает (обновление местоположения) только в первый раз для карт Google
Нет метода с именем setLocation()
, используйте setTestLocation()
Чтона самом деле я должен сделать в asynckTask
Вы можете использовать Thread, TimerTask или все что угодно.Идея состоит в том, чтобы вводить местоположение каждую секунду в Framework.