Перейти к содержанию
Fire Monkey от А до Я
  • 0

bluetooth что не так


delcpy

Вопрос

Всем привет. Решил первый раз использовать Bluetooth1. При прочтении документации, статей и видео так и не понял почему на Android не работает, в чем причина? Проверил на 7 разных телефонах. Из всего понял, что для обнаружения устройство достаточно лишь кода который прикладываю. почему не находит устройство? Где мой косяк?

unit Unit1;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes,
  System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
  System.Bluetooth, FMX.StdCtrls, FMX.Controls.Presentation, FMX.Edit,
  System.Bluetooth.Components, FMX.Memo.Types, FMX.ScrollBox, FMX.Memo,
  FMX.Layouts, FMX.ListBox;

type
  TForm1 = class(TForm)
    Button1: TButton;
    ListBox: TListBox;
    Bluetooth: TBluetooth;
    procedure Button1Click(Sender: TObject);
    procedure BluetoothDiscoveryEnd(const Sender: TObject;
      const ADeviceList: TBluetoothDeviceList);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.BluetoothDiscoveryEnd(const Sender: TObject;
  const ADeviceList: TBluetoothDeviceList);
var
  i: integer;
begin
  ListBox.Items.Clear;
  for i := 0 to ADeviceList.Count - 1 do
    ListBox.Items.Add(ADeviceList[i].DeviceName);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Bluetooth.Enabled := True;
  Bluetooth.DiscoverDevices(5000);
end;

end.

  

1.png

2.png

3.png

4.png

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Может их нет, новых, а есть устройства которые уже подключались ранее Bluetooth.GetPairedDevices;

 FPairedDevices := Bluetooth.GetPairedDevices;
    if FPairedDevices.Count > 0 then
      for I:= 0 to FPairedDevices.Count - 1 do
        ListBox.Items.Add(FPairedDevices[I].DeviceName)

Ну и если Android API >= 31

     if TJBuild_VERSION.JavaClass.SDK_INT >= 31  then
        begin
           FPermissionBTConnectSettings := JStringToString(TJManifest_permission.JavaClass.BLUETOOTH_CONNECT);
           FPermissionBTScanSettings := JStringToString(TJManifest_permission.JavaClass.BLUETOOTH_SCAN);
           FPermissionBTAdvertiseSettings := JStringToString(TJManifest_permission.JavaClass.BLUETOOTH_ADVERTISE);

           PermissionsService.RequestPermissions([FPermissionBTConnectSettings] +
                                                 [FPermissionBTScanSettings] +
                                                 [FPermissionBTAdvertiseSettings], nil);
        end;
Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...