[BB10] BlackBerry JavaからBlackBerry 10 Cascadesへのポーティング(その10)

その9は、位置情報に関する情報でした。[BB10] BlackBerry JavaからBlackBerry 10 Cascadesへのポーティング(その9)

その10は、NFCとBluetoothに関する情報です。

BlackBerry Java to BlackBerry 10 Cascades Porting Series – Part 10: NFC and Bluetooth (Inside BlackBerry Developer Blog)

Bluetooth

Bluetoothは通信するデバイスによってサポートするプロファイルが異なります。今回は通信に関する部分です。

Serial Port Profile
BlackBerry 10でSerial Port Profile [SPP] を使い通信するさいのコードは以下のようです。

サーバへSPP接続をオープンします。

int bt_spp_open(char *addr, char *service_uuid, bool nonblock);

SPPサーバを作成して、Callbackを設定します。

int bt_spp_open_server(char *service_name, char *service_uuid, bool nonblock, void (*callback)(long param,int fd), long param);

サンプルコードは ここ です。

Object Sharing
オブジェクトのシェアのコードです。この場合は、/tmpにあるtest.pngをシェアしています。

  InvokeManager * im = new InvokeManager(this);

  InvokeRequest request;
  request.setAction("bb.action.SHARE");
  request.setTarget("sys.btviewer");
  request.setUri("file:///tmp/test.png"); //  not recommended location!
  im->invoke(request);

Bluetooth Low Energy
BlackBerry 10や、BlackBerry Java デバイスは Bluetoothのローエネルギーには対応していません。

NFC

NFCのタグ読み込みはinvocation frameworkを使って、bar-descriptor.xmlで登録します

  <invoke-target id="com.rngs.BlackBerryJam.Americas.ScavengerHunt">
     <type>APPLICATION </type>
     <filter>
       <action>bb.action.OPEN </action>
       <mime-type>application/vnd.rim.nfc.ndef </mime-type>
       <property var="uris" 
          value="ndef://2/application/com.rim.devr.2012.bbja" />
     </filter>
   </invoke-target>

invoke-target
	The target id has to be globally unique… 

mime-type
	This is the type we have set internally to specify NDEF tag reading events.

property - value

詳細は ここです。

Writing a NDEF Tag
タグの書き込みは invocation framework 使って、行いますが低レベルの機能を使ってコードを書くことも出来るようです。

Other Tech (Peer 2 Peer, SNEP, Card Emulation…)
その他の通信に関しては、以下のURLに書かれています。

http://supportforums.blackberry.com/t5/Java-Development/NFC-Article-and-Code-Index/ta-p/1538775

コメントは受け付けていません。

%d人のブロガーが「いいね」をつけました。