com.nttdocomo.device
クラス RemoteDevice

Object
  拡張com.nttdocomo.device.RemoteDevice

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

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

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

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

導入されたバージョン:
DoJa-5.0 (903i)
関連項目:
Bluetooth, BTStateListener, BTConnection, SPPConnection

フィールドの概要
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)を取得します。
 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 - このオブジェクトが既に dispose されている場合に発生します(ILLEGAL_STATE)。
DeviceException - このオブジェクトの外部機器が、ネイティブ機能により削除されている場合に発生します(ILLEGAL_STATE)。

getDeviceName

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

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

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

getDeviceClass

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

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

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

isAvailable

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

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

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

connect

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

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

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

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

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

accept

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

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

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

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

dispose

public void dispose()
このオブジェクトを破棄します。

このメソッドを呼び出した時点で外部機器と端末がBluetoothで接続中の場合には、その接続が切断されます。 メソッド実行後、ネイティブの接続機器リストから外部機器は削除されません。 このメソッドを呼び出した後に dispose メソッドを呼び出した場合は何もしません。


changePowerMode

public void changePowerMode(int type)
外部機器に対して、省電力状態(SNIFF_MODE)への遷移をリクエストします。

処理完了後、メソッドから戻ります。 Bluetoothで端末と外部機器が接続している場合に状態遷移の要求を出すことが可能です。 接続していないときにメソッドが実行された場合には、例外が発生します。

パラメータ:
type - 遷移する状態(SNIFF_MODE)を指定します。
例外:
DeviceException - このオブジェクトが既に dispose されている場合に発生します(ILLEGAL_STATE)。
DeviceException - このオブジェクトの外部機器が、ネイティブ機能により削除されている場合に発生します(ILLEGAL_STATE)。
IllegalArgumentException - 引数 type にサポートしていない省電力モードの値が指定された場合に発生します。
SecurityException - ロック機能などのネイティブ独自のセキュリティ設定により、Bluetoothが利用できない場合に発生します。
DeviceException - 接続状態にない場合にメソッドが実行された場合に発生します(ILLEGAL_STATE)。
BluetoothException - 端末がセルフモードの場合に発生します(SELF_MODE)。

interruptAcceptance

public void interruptAcceptance()
外部機器からの接続要求に対する待ち受けを中断させます。

このインスタンスの accept(int) メソッドにて、 外部機器からの接続要求を待ち受けている場合に、 このメソッドを呼び出すと、接続要求に対する待ち受けが中断されます。 中断されたスレッドは DeviceException(INTERRUPTED) が発生します。

外部機器からの接続要求を待ち受けていないときに呼び出された場合は、 このメソッドは中断処理をしません。 また、別のインスタンスに対する accept(int) メソッド呼び出しは、 影響を受けません。

例外:
DeviceException - このオブジェクトが既に dispose されている場合に発生します(ILLEGAL_STATE)。
DeviceException - このオブジェクトの外部機器が、ネイティブ機能により削除されている場合に発生します(ILLEGAL_STATE)。
導入されたバージョン:
DoJa-5.0 (904i)


NTT DOCOMO,INC.

本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。

Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。

FeliCaは、ソニー株式会社が開発した非接触ICカードの技術方式です。FeliCaは、ソニー株式会社の登録商標です。

「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。

その他記載された会社名、製品名などは該当する各社の商標または登録商標です。