Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2015.01.18;
Скачать: CL | DM;

Вниз

XE5 Android LocationListener   Найти похожие ветки 

 
MultIfleX ©   (2013-11-07 20:44) [0]

Времени доброго, дорогие участники.

Сижу разбираюсь в пятой студии. Создал пустой проект мобильного приложения.

Попал ко мне "в руки" юнит Androidapi.JNI.Location . В нем нашел следующие вещи:

JLocationManager = interface(JObject)
["{42C3E256-9370-43B5-93E3-EDF5CE51FB28}"]
...
end;

JLocationListener = interface(IJavaInstance)
["{D1CF3FB5-3BCB-4959-98D7-BD4D8F93D839}"]
...
end;


Интересно стало. Решил поискать, как же этим пользоваться... на Delphi толком ничего нет, нашел вот что:

var
locationManager : JLocationManager;
begin
locationManager := TJLocationManager.Wrap( ((SharedActivity.getSystemService(TJContext.JavaClass.LOCATION_SERVICE)) as ILocalObject).GetObjectID);
... и вот тут, у locationManager есть метод, который позволяет стартовать "слушалку":
requestLocationUpdates(provider: JString; minTime: Int64; minDistance: Single; listener: JLocationListener); cdecl; overload;

не понятно как создать класс с привязкой к JLocationListener, чтоб он получал сообщения о локациях.

пробовал так:

 TMyLListener = class (TJLocationListener)
     procedure onLocationChanged(location: JLocation); cdecl;
     procedure onProviderDisabled(provider: JString); cdecl;
     procedure onProviderEnabled(provider: JString); cdecl;
     procedure onStatusChanged(provider: JString; status: Integer; extras: JBundle); cdecl;
 end;

....
...

tml := TMyLListener.Create;
locationManager.requestLocationUpdates( TJLocationManager.JavaClass.GPS_PROVIDER, 1000, 0, tml );


вываливается с ошибкой на tml := TMyLListener.Create;

Есть соображения у кого нибудь по этому поводу?


 
MultIfleX ©   (2013-11-07 20:48) [1]

С чего началось - попробовал LocationSensor - он даже в "родных" демках студии не стартует GPS (значок не начинает мигать), и координаты соответственно не получает (проверял под открытым небом - не работает). Мне этот факт показался предельно досадным, и я решил поковыряться в нативном апи...


 
Туповатый ©   (2013-11-08 00:38) [2]

Вопрос-то в чем?


 
MultIfleX ©   (2013-11-08 05:12) [3]


> не понятно как создать класс с привязкой к JLocationListener,
>  чтоб он получал сообщения о локациях.


> Есть соображения у кого нибудь по этому поводу?


 
btf   (2013-11-10 20:04) [4]

Просто так все там не получится. Нужно писать наследник от LocationListener на жабе, потом импортировать сию обертку в Delphi (через JNI), потом уже этот Listener передавать в requestLocationUpdates. Короче, геморрой еще тот.


 
Djalma   (2013-12-19 16:35) [5]

good day

I"m trying to use the API in android Delphi XE5 more when it arrives in the Create method TJLocationListener class, it can not create the error.



Страницы: 1 вся ветка

Текущий архив: 2015.01.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.006 c
2-1387193293
Павел
2013-12-16 15:28
2015.01.18
Проблема переноса проекта в XE2


2-1387265285
aka
2013-12-17 11:28
2015.01.18
Что быстрее будет работать?


15-1401723069
Dennis I. Komarov
2014-06-02 19:31
2015.01.18
CDO


15-1402753733
Override Func
2014-06-14 17:48
2015.01.18
Пересечение прямоугольника и окружности


11-1257251317
Игорь Шевченко
2009-11-03 15:28
2015.01.18
Прошу прощения, по ошибке закрыл ветку "Использование MakeMethod"