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