Главная страница
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.005 c
2-1387193293
Павел
2013-12-16 15:28
2015.01.18
Проблема переноса проекта в XE2


15-1403123402
Юрий
2014-06-19 00:30
2015.01.18
С днем рождения ! 19 июня 2014 четверг


15-1403101181
Пит
2014-06-18 18:19
2015.01.18
Хитрости variant


15-1402829721
Юрий Зотов
2014-06-15 14:55
2015.01.18
Диск накрылся - чем лечить?


15-1402045300
Palladin
2014-06-06 13:01
2015.01.18
Ищу работу