com.docomostar.device
クラス RemoteDevice

Object
  上位を拡張 com.docomostar.device.RemoteDevice

public class RemoteDevice
extends Object
 [iアプリオプションAPI]

Bluetoothで端末と接続される外部機器を表すクラスを定義します。

外部機器との接続は、 Star アプリから接続要求(connect(int profile))を出すか、 もしくはその外部機器からの接続要求を受け付けること(accept(int profile))で行います。
同じ Bluetooth アドレスを持つ有効なインスタンスが複数存在することはありません。

ネイティブ機能により、このオブジェクトの外部機器が削除された場合、 例外 DeviceException(ILLEGAL_STATE) が発生します。 この例外が発生した場合には、dispose() により、このオブジェクトを破棄しなければなりません。

[Star-1.5 以降]
非同期に外部機器からの接続要求を待ち受けることができます。 接続要求を待ち受けるには、 StarApplication.addEventListener(int, StarEventListener) を使って、 StarEventObject.STAR_BLUETOOTH_CONNECT_REQUEST_RECEIVED イベントを待ち受けてください。
接続要求を受け付けたタイミングで BluetoothConnectionEvent が通知され、 BluetoothConnectionEvent の付随パラメータとして、 接続要求元の外部機器情報を保持した DeviceDiscoveryResult オブジェクトを取得します。 この DeviceDiscoveryResult オブジェクトを Bluetooth.getDiscoveredRemoteDevice(DeviceDiscoveryResult) に指定して、RemoteDevice オブジェクトを取得することができます。 このようにして得られた RemoteDevice オブジェクトに対して Bluetooth.HDP を指定した accept(int) を呼び出すことで、 BTConnection を取得し、データ送受信を開始することができます。

この外部機器を、起動可能外部機器リストに追加することで、 この Star アプリケーション終了後もなお、接続要求を待ち受けることができます。 Star アプリケーション終了後に、リストに追加済みの外部機器から接続要求を受け付けた場合、 この Star アプリケーションが、 起動タイプ LAUNCHED_BY_BLUETOOTH_REMOTE_DEVICE で自動起動します。 詳細は StarEventObject.STAR_BLUETOOTH_CONNECT_REQUEST_RECEIVED フィールド説明を参照してください。

導入されたバージョン:
Star-1.0
関連項目:
Bluetooth, BTStateListener, BTConnection, SPPConnection, StarApplicationManager.addRemoteLauncher(RemoteDevice), StarEventObject.STAR_BLUETOOTH_CONNECT_REQUEST_RECEIVED

フィールドの概要
static int SNIFF_MODE
          省電力状態(SNIFFモード)であることを表します(=1)。
 
メソッドの概要
 BTConnection accept(int profile)
          外部機器からの接続要求を待ち受けます。
 void changePowerMode(int type)
          外部機器に対して、省電力状態(SNIFF_MODE)への遷移をリクエストします。
 BTConnection connect(int profile)
          外部機器と接続を行います。
 void dispose()
          このオブジェクトを破棄します。
 String getAddress()
          外部機器のBluetoothアドレスを取得します。
 String getDeviceClass()
          外部機器の端末属性情報(CoD)を取得します。
 DeviceDiscoveryResult getDeviceDiscoveryResult()
           Device Discovery 処理で得られたこの外部機器の情報を取得します。
 String getDeviceName()
          外部機器の名称を取得します。
 void interruptAcceptance()
          外部機器からの接続要求に対する待ち受けを中断させます。
 boolean isAvailable(int profile)
          引数で指定したプロファイルが外部機器で利用可能かどうかを確認します。
 
クラス Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

SNIFF_MODE

public static final int SNIFF_MODE
省電力状態(SNIFFモード)であることを表します(=1)。

関連項目:
定数フィールド値
メソッドの詳細

getAddress

public String getAddress()
外部機器のBluetoothアドレスを取得します。

取得されるアドレスは、"2DIGIT":"2DIGIT":"2DIGIT":"2DIGIT":"2DIGIT":"2DIGIT"の形式(例えば、00:11:22:33:BB:DD)で表現されます。取得された値は、ネイティブ側の登録機器情報で表示されるアドレスと一致します。

戻り値:
Bluetoothアドレスを返します。
例外:
DeviceException -
(ILLEGAL_STATE)
このオブジェクトが既に dispose されている場合に発生します。
DeviceException -
(ILLEGAL_STATE)
このオブジェクトの外部機器が、ネイティブ機能により削除されている場合に発生します。

getDeviceName

public String getDeviceName()
外部機器の名称を取得します。

取得された値は、ネイティブ側の登録機器情報で表示される機器名称と一致します。

戻り値:
名称を返します。
例外:
DeviceException -
(ILLEGAL_STATE)
このオブジェクトが既に dispose されている場合に発生します。
DeviceException -
(ILLEGAL_STATE)
このオブジェクトの外部機器が、ネイティブ機能により削除されている場合に発生します。

getDeviceClass

public String getDeviceClass()
外部機器の端末属性情報(CoD)を取得します。

取得された値は、ネイティブ側の登録機器情報で表示される端末属性情報(CoD)と一致します。

戻り値:
外部機器の端末属性情報(CoD)を返します。
例外:
DeviceException -
(ILLEGAL_STATE)
このオブジェクトが既に dispose されている場合に発生します。
DeviceException -
(ILLEGAL_STATE)
このオブジェクトの外部機器が、ネイティブ機能により削除されている場合に発生します。

isAvailable

public boolean isAvailable(int profile)
引数で指定したプロファイルが外部機器で利用可能かどうかを確認します。

利用可能な場合にはtrueを返します。利用不可能な場合にはfalseを返します。

パラメータ:
profile - Bluetooth クラスのフィールドとして定義されているプロファイル種別を指定します。
戻り値:
利用可能な場合は true を、利用不可能な場合は false を返します。
例外:
DeviceException -
(ILLEGAL_STATE)
このオブジェクトが既に dispose されている場合に発生します。
DeviceException -
(ILLEGAL_STATE)
このオブジェクトの外部機器が、ネイティブ機能により削除されている場合に発生します。

connect

public BTConnection connect(int profile)
外部機器と接続を行います。

メソッドの引数に利用するプロファイルを指定して接続します。 接続した際には指定したプロファイルで接続した状態(すなわち、ACLからプロファイルまでが繋がった状態)となります。 引数に SPPを指定した場合にはSPPで接続した状態となって接続します。 接続に成功した場合に BTConnectionオブジェクトを返します。

引数に指定したプロファイル種別によって、 返される BTConnection オブジェクトの実行時の型は異なります。 詳細は BTConnection インタフェース説明を参照してください。

メソッドを実行した際、Star アプリはサスペンドせずに接続処理を行います。このメソッドはブロッキングメソッドです。接続の成否に関係なく、処理が完了するまで、このメソッドは戻りません。

リンクキーが無効な場合は、例外を発生します。

パラメータ:
profile - Bluetooth クラスのフィールドとして定義されているプロファイル種別を指定します。
戻り値:
BTConnection オブジェクトを返します。
例外:
DeviceException -
(ILLEGAL_STATE)
このオブジェクトが既に dispose されている場合に発生します。
DeviceException -
(ILLEGAL_STATE)
このオブジェクトの外部機器が、ネイティブ機能により削除されている場合に発生します。
IllegalArgumentException -
引数に端末が利用可能なプロファイル以外の値が指定された場合に発生します。
SecurityException -
ロック機能などのネイティブ独自のセキュリティ設定により、Bluetoothが利用できない場合に発生します。
DeviceException -
(RACE_CONDITION)
FeliCa がオープンされている場合に発生します。
DeviceException -
(RACE_CONDITION)
サーバー側としてアドホック通信中(Propose Ad-hoc Modeコマンドを受信してからアドホック通信終了まで)に発生します。
DeviceException -
(BUSY_RESOURCE)
すでに接続されている場合、もしくは通信リソースがすでに使用されている場合、 もしくは Bluetooth として接続可能な数を超えた場合に発生します。
DeviceException -
(RACE_CONDITION)
Bluetooth と赤外線通信の同時使用をサポートしていない端末において、 赤外線通信中の場合に発生します。
BluetoothException -
(SELF_MODE)
端末がセルフモードの場合に発生します。
BluetoothException -
(TIMEOUT)
接続要求がタイムアウトである場合に発生します。
BluetoothException -
(LINKKEY_ERROR)
外部機器との接続でリンクキーが不一致である場合に発生します。
BluetoothException -
(UNKNOWN_PROFILE)
外部機器との接続において、引数で指定されたプロファイルが外部機器で未サポートである場合に発生します。
BluetoothException -
(ENCRYPTION_ERROR)
外部機器が暗号化に対応していない場合に発生します。
BluetoothException -
(BUSY_RESOURCE)
[Star-1.5 以降] イベントリスナにより接続要求を待っている場合に発生します。
BluetoothException -
(UNDEFINED)
その他の原因で、接続に失敗した場合に発生します。
DeviceException -
(RACE_CONDITION)
競合条件などにより、ネイティブ機能がエラーを返した場合に発生します。

accept

public BTConnection accept(int profile)
外部機器からの接続要求を待ち受けます。

メソッドの引数に利用するプロファイルを指定して接続要求を待ち受けます。 接続した際には指定したプロファイルで接続した状態(すなわち、ACLからプロファイルまでが繋がった状態)となります。 引数に SPPを指定した場合にはSPPで接続した状態となって接続します。 接続に成功した場合に BTConnectionオブジェクトを返します。

引数に指定したプロファイル種別によって、 返される BTConnection オブジェクトの実行時の型は異なります。 詳細は BTConnection インタフェース説明を参照してください。

メソッドを呼び出した場合、Star アプリはサスペンドせずに接続処理を行います。このメソッドはブロッキングメソッドです。接続の成否に関係なく、処理が完了するまで、このメソッドは戻りません。 リンクキーが無効な場合は例外が発生します。

パラメータ:
profile - Bluetooth クラスのフィールドとして定義されているプロファイル種別を指定します。
戻り値:
BTConnection オブジェクトを返します。
例外:
DeviceException -
(ILLEGAL_STATE)
このオブジェクトが既に dispose されている場合に発生します。
DeviceException -
(ILLEGAL_STATE)
このオブジェクトの外部機器が、ネイティブ機能により削除されている場合に発生します。
IllegalArgumentException -
引数に端末が利用可能なプロファイル以外の値が指定された場合に発生します。
SecurityException -
ロック機能などのネイティブ独自のセキュリティ設定により、Bluetoothが利用できない場合に発生します。
DeviceException -
(RACE_CONDITION)
FeliCa がオープンされている場合に発生します。
DeviceException -
(RACE_CONDITION)
サーバー側としてアドホック通信中(Propose Ad-hoc Modeコマンドを受信してからアドホック通信終了まで)に発生します。
DeviceException -
(BUSY_RESOURCE)
すでに接続されている場合、もしくは通信リソースがすでに使用されている場合、 もしくは Bluetooth として接続可能な数を超えた場合に発生します。