使用AS3蓝牙ANE时出错#1009

时间:2013-11-21 19:56:24

标签: android actionscript-3 bluetooth flashdevelop

我想使用蓝牙制作一个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匹配。
没有其他人似乎有同样的问题,请帮忙吗?

1 个答案:

答案 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();
}