Я разрабатываю приложение для Android в Delphi, как классическое приложение Bluetooth, в котором мне нужно получить данные, отсканированные сканером Bluetooth и отобразить их в компоненте TEdit в Firemonkey.
Мне удалось подключиться к сопряженному устройству и отсканировать первые данные.Но для следующей серии сканирования я не знаю, куда звонить FSocket.ReceiveData
.В Java есть вызов функции прослушивания, которая ожидает входящих потоков, как мне это сделать в Delphi android pls?
Вот мой код: фрагмент кода из образца классического Bluetooth в Rad:
procedure TForm1.SendData;
var
ToSend: TBytes;
LDevice: TBluetoothDevice;
Buff: TBytes;
begin
if (FSocket = nil) or (ItemIndex <> ComboboxPaired.ItemIndex) then
begin
if ComboboxPaired.ItemIndex > -1 then
begin
LDevice := FPairedDevices[ComboboxPaired.ItemIndex] as TBluetoothDevice;
DisplayR.Lines.Add(GetServiceName(ServiceGUI));
DisplayR.GoToTextEnd;
FSocket := LDevice.CreateClientSocket(StringToGUID(ServiceGUI), False);
if FSocket <> nil then
begin
ItemIndex := ComboboxPaired.ItemIndex;
FSocket.Connect;
ServerConnectionTH.FServerSocket.Accept(500);
.....
//after successful connect, go to another form , focus in a TEdit then scan,
//currently uses this function to get data
function TForm1.getBLData: string;
var
Buff: TBytes;
s:string;
begin
FSocket.ReceiveData;
Buff := FSocket.ReceiveData;
frmLoadGrid.Edit1.Text:='';
frmLoadGrid.Edit1.Text:= TEncoding.UTF8.GetString(Buff); //enters read data
result:=s;
end;
Может кто-нибудь, пожалуйста, помогите ... Спасибо