我想使用蓝牙制作一个Android应用程序,经过一些研究后我遇到了this ANE。我从来没有使用过ANE,但据我所知,它的实现与使用SWC非常相似。 将ANE复制到。\ lib路径并将其包含在我的项目中后,我尝试按照网站上的建议扫描设备:
if (Bluetooth.isSupported) {
trace("1!");
bt = Bluetooth.currentAdapter();
trace("2!");
bt.addEventListener(BluetoothScanEvent.BLUETOOTH_DISCOVERY_STARTED, bluetoothScanEventHandeler);
bt.addEventListener(BluetoothScanEvent.BLUETOOTH_DEVICE_FOUND, bluetoothScanEventHandeler);
bt.addEventListener(BluetoothScanEvent.BLUETOOTH_DISCOVERY_FINISHED, bluetoothScanEventHandeler);
bt.scanForVisibleDevices();
}
出于某种原因,我收到了错误
Error #1009: Cannot access a property or method of a null object reference.
我包含的跟踪指向bt = Bluetooth.currentAdapter();
,但如果我将Bluetooth.isSupported
更改为Bluetooth.isSupported()
,那么我会得到相同的错误。
我确保项目的Adobe AIR应用程序描述符文件模板(应用程序xmlns)与ANE匹配。
没有其他人似乎有同样的问题,请帮忙吗?
答案 0 :(得分:0)
我看到你正在使用我不熟悉的flash开发,但听起来像BlueTooth是null。通常,ANE是单例并且具有getInstance()方法。创建单个实例后,BlueTooth不应再为null,您应该能够访问其余的方法。
在您的项目中,您通常会访问ANE,如...
var blueTooth:BlueTooth = Bluetooth.getInstance();
if(BlueTooth.isSupported)
{
}
或
if(BlueTooth.isSupported)
{
bt = BlueTooth.getInstance().currentAdapter();
}