2013-05-04 71 views
0

我試圖手動(在關閉bluetooh堆棧後)午餐藍牙堆棧。如何從編程上啓動bluecove

BlueCoveImpl.java照顧,並找出藍牙堆棧中

private BluetoothStack detectStack() 

方法,我想通過調用

BlueCoveImpl.instance().getBluetoothStack(); 

但例外調用初始化occures:

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?

+3

午餐時間,直到它足夠軟,咀嚼它;)(你的意思是「發射」,不幸的是我不能幫你。) – 2013-05-04 22:24:35

+0

「午餐」添加了「a」 「它。 – 2013-05-04 22:26:51

回答

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())

否則拋出

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