Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Rad Pack西雅图的所有蓝牙信标样本均失败_Android_Delphi_Crash_Bluetooth Lowenergy_Sample - Fatal编程技术网

Android Rad Pack西雅图的所有蓝牙信标样本均失败

Android Rad Pack西雅图的所有蓝牙信标样本均失败,android,delphi,crash,bluetooth-lowenergy,sample,Android,Delphi,Crash,Bluetooth Lowenergy,Sample,我正在努力学习蓝牙信标与拉德包西雅图。因此,我尝试了所有的信标样本,但它们似乎都不起作用。我在三台不同的Pc机(2台Windows7和1台Server2012)上试用了所有6款,并在4款不同的android智能手机(LG和诺基亚)上运行了代码。我在所有电脑上安装了西雅图的新版本。 大多数样本在几秒钟内失败。有时它们会冻结,有时它们会崩溃,其中一个似乎在运行,但它只是看不到我指向的信标(我知道它是有效的,因为我有一些完成的程序,可以找到我想要的信标)等等。其中一个,我认为最简单的一个(它只有12行

我正在努力学习蓝牙信标与拉德包西雅图。因此,我尝试了所有的信标样本,但它们似乎都不起作用。我在三台不同的Pc机(2台Windows7和1台Server2012)上试用了所有6款,并在4款不同的android智能手机(LG和诺基亚)上运行了代码。我在所有电脑上安装了西雅图的新版本。 大多数样本在几秒钟内失败。有时它们会冻结,有时它们会崩溃,其中一个似乎在运行,但它只是看不到我指向的信标(我知道它是有效的,因为我有一些完成的程序,可以找到我想要的信标)等等。其中一个,我认为最简单的一个(它只有12行),失败时会显示一条关于“复制记录”的消息

所以我开始觉得西雅图的Rad Pack有些问题。但这不可能是真的,所以我想一定是我在做什么。但是什么呢?不幸的是,要问的问题很少

如果我问错了地方,请给我指出正确的方向

任何暗示都将不胜感激

波尔克

这是简单信标演示

大宗报价


根据Embarcadero的文档(如下),蓝牙信标似乎只从Windows 10开始得到支持

这就解释了Windows7的情况(我也遇到过这种情况;然后我在Windows10上尝试了几款,发现它们可以工作,可以检测到信标)。 不幸的是,似乎没有关于Windows Server最低版本的信息

看看微软文档(下表)中的10.0*版本号,也许它至少需要Windows Server 2016

有关更多信息(如果有帮助的话),我正在64位Windows10上使用Delphi10.2(东京)

我尝试的示例项目是“AllBeaconsScanner”。在使用目标平台64位Windows构建之后,它运行正常

在我的机器上,示例项目的路径如下所示。
C:\Users\Public\Documents\Embarcadero\Studio\19.0\Samples\Object Pascal\Multi-Device Samples\Device Sensors and Services\Bluetooth\Beacons\extended beaconscanner

显而易见的一点,但您是否同时授予了位置和蓝牙权限?所谓位置权限,您指的是android确定和/或报告它的权限?事实上,我认为没有,我认为没有必要。但我明天会试试。好的。我现在在Windows10上试过,但都失败了。但这是一个Windows1032位。在任何情况下,这是android代码,所以如果我理解正确的话,是编译器在Windows7上出现故障?无论如何,我明天会给自己买一个Windows1064位的。也许还需要一台新电脑?(是的,我变得多疑了)非常感谢你,PoulKI现在尝试安装Rad 10.4,这个版本告诉我它不会在32位Windows上运行。所以,我明天要去买一台Windows1064位。感谢你提供更多信息(如果有帮助的话),我正在64位Windows10上使用Delphi10.2(东京)。我尝试的示例项目是“AllBeaconsScanner”。在使用目标平台64位Windows构建之后,它运行正常。在我的机器上,示例项目的路径如下所示<代码>C:\Users\Public\Documents\Embarcadero\Studio\19.0\Samples\Object Pascal\Multi-Device Samples\Device Sensors and Services\Bluetooth\Beacons\extended beaconscannerallbeaconscanne,对我来说,它在windows 10下运行得很好,但在android上它无法检测到信标。有人知道为什么吗?我有三星10和德尔福10.4。google play的BeaconScope应用程序可以检测到任何问题
Unit1;

interface

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

type
  TForm1 = class(TForm)
    Beacon1: TBeacon;
    Memo1: TMemo;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Beacon1BeaconEnter(const Sender: TObject; const ABeacon: IBeacon; const CurrentBeaconList: TBeaconList);
    procedure Beacon1BeaconExit(const Sender: TObject; const ABeacon: IBeacon; const CurrentBeaconList: TBeaconList);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.Beacon1BeaconEnter(const Sender: TObject; const ABeacon: IBeacon;
  const CurrentBeaconList: TBeaconList);
begin
  Memo1.Lines.Add('New Beacon');
  Memo1.Lines.Add(Format( 'UUID: %s Major: %d Minor: %d',[ABeacon.GUID.ToString, ABeacon.Major, ABeacon.Minor]));
  Memo1.Lines.Add('Current Beacons count :' + Length(CurrentBeaconList).toString);
end;

procedure TForm1.Beacon1BeaconExit(const Sender: TObject; const ABeacon: IBeacon; const CurrentBeaconList: TBeaconList);
begin
  Memo1.Lines.Add('Beacon exited');
  Memo1.Lines.Add(Format( 'UUID: %s Major: %d Minor: %d',[ABeacon.GUID.ToString, ABeacon.Major, ABeacon.Minor]));
  Memo1.Lines.Add('Current Beacons count :' + Length(CurrentBeaconList).toString);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Beacon1.Enabled := True;
end;

end.