如何以编程方式启动bluecove

时间:2013-05-04 22:18:35

标签: java bluetooth bluecove

我正在尝试手动午餐蓝牙堆栈(关闭bluetooh堆栈后)。

我照顾BlueCoveImpl.java并发现蓝牙堆栈已在

中初始化
private BluetoothStack detectStack()

方法,我试图通过调用

来调用
BlueCoveImpl.instance().getBluetoothStack(); 

但发生异常:

Exception in thread "main" java.lang.Error: Illegal use of the JSR-82 API
    at com.intel.bluetooth.Utils.isLegalAPICall(Utils.java:296)
    at com.intel.bluetooth.BlueCoveImpl.getBluetoothStack(BlueCoveImpl.java:1023)

我也试过了             BlueCoveImpl.instance();             BlueCoveImpl.getThreadBluetoothStackID();

但没有效果。

如何启动BlueCove?

1 个答案:

答案 0 :(得分:0)

方法

getBluetoothStack()

通过调用

进行某种安全检查
Utils.isLegalAPICall

http://bluecove.googlecode.com/svn/trunk/bluecove/src/main/java/com/intel/bluetooth/Utils.java

此方法检查调用是否来自这些包中的类

  1. javax.bluetooth。
  2. getPackage(MicroeditionConnector.class.getName())
  3. 否则抛出

    Error("Illegal use of the JSR-82 API")
    

    我认为打电话

    LocalDevice.getLocalDevice()
    

    http://bluecove.org/bluecove/apidocs/javax/bluetooth/LocalDevice.html#getLocalDevice()

    将根据需要初始化堆栈。有关Bluecove如何确定正确堆栈以及如何使用" bluecove.stack"进行配置的详细信息,请参阅https://code.google.com/p/bluecove/wiki/stacks。系统属性。