com.docomostar.device
クラス Bluetooth

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

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

端末の Bluetooth 機能を表すクラスを定義します。

このクラスでは、端末の Bluetooth 機能を呼び出して、 外部機器の検索、機器選択、機器登録、各種設定などを行います。 外部機器が選択されると、その外部機器に対応したRemoteDeviceクラスのオブジェクトを取得します。

[Star-1.5 以降]
searchDevice() により周辺の外部機器を検索し、 見つかった外部機器の情報として DeviceDiscoveryResult オブジェクトを取得することができます。 この DeviceDiscoveryResult オブジェクトを startPairing(DeviceDiscoveryResult) の引数に指定することで機器登録ができます。 また、getDiscoveredRemoteDeviceList() により現在端末に登録されている外部機器のリストを取得することができます。

導入されたバージョン:
Star-1.0
関連項目:
RemoteDevice, BTStateListener, BTConnection, SPPConnection

フィールドの概要
static int HDP
          ヘルスデバイスプロファイルを表します(=1)。
static int OOB_CHANNEL_FELICA
          OOB の通信路として FeliCa の DataExchange 機能を利用することを表します(=0)。
static int SPP
          シリアルポートプロファイルを表します(=0)。
static int TYPE_INITIATOR
          外部機器への接続を要求することを表します(=0)。
static int TYPE_RESPONDER
          外部機器からの接続要求を待ち受けることを表します(=1)。
 
メソッドの概要
 int getDiscoveredDevice()
          ネイティブの登録機器リストに保持されている外部機器の数を取得します。
 RemoteDevice getDiscoveredRemoteDevice(DeviceDiscoveryResult targetDevice)
          指定した DeviceDiscoveryResult オブジェクトに対応した、 ネイティブの登録機器リストに保持されている外部機器を取得します。
 RemoteDevice[] getDiscoveredRemoteDeviceList()
          ネイティブの登録機器リストに保持されている外部機器のリストを取得します。
 int getInquiryTimeout()
          Inquiryの実行時間を取得します。
static Bluetooth getInstance()
          端末の Bluetooth 機能を表すインスタンスを取得します。
 int getMaxConnection(int type)
          引数に指定したプロファイルに対して、 この端末の Bluetooth 未接続状態における同時に接続可能な数を返します。
 boolean isConnectable(int type)
          引数に指定したプロファイルで外部機器とStar アプリが接続可能であるか否かを取得します。
 boolean isDetachmentMode()
          機器登録処理後に接続(ACLリンク)を切断するかどうかを返します。
 RemoteDevice scan()
          外部機器からの接続要求を待ち、 ユーザが外部機器との接続を選択した場合にRemoteDeviceオブジェクトが生成されます。
 RemoteDevice searchAndSelectDevice()
          外部機器探索を行い、ユーザによる外部機器の選択を行います。
 DeviceDiscoveryResult[] searchDevice()
          外部機器検索を行います。
 RemoteDevice selectDevice()
          ユーザによる外部機器の選択を行います。
 void setDetachmentMode(boolean flag)
          機器登録処理後に接続(ACLリンク)を切断するかどうかを設定します。
 void setInquiryTimeout(int time)
          Inquiryの実行時間を設定します。
 RemoteDevice startPairing(DeviceDiscoveryResult targetDevice)
          外部機器の検索結果を指定し、外部機器との接続を行います。
 RemoteDevice startPairingByOOB(int channel, int type, byte[] handoverId)
          Bluetooth 帯域外(Out Of Band)の通信路を用いて外部機器との接続を行います。
 void turnOff()
          Bluetooth電源をオフにします。
 
クラス Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

SPP

public static final int SPP
シリアルポートプロファイルを表します(=0)。

関連項目:
RemoteDevice.isAvailable(int), RemoteDevice.connect(int), RemoteDevice.accept(int), isConnectable(int), 定数フィールド値

HDP

public static final int HDP
ヘルスデバイスプロファイルを表します(=1)。

導入されたバージョン:
Star-1.5
関連項目:
RemoteDevice.isAvailable(int), RemoteDevice.connect(int), RemoteDevice.accept(int), isConnectable(int), 定数フィールド値

OOB_CHANNEL_FELICA

public static final int OOB_CHANNEL_FELICA
OOB の通信路として FeliCa の DataExchange 機能を利用することを表します(=0)。

導入されたバージョン:
Star-1.1
関連項目:
startPairingByOOB(int, int, byte[]), 定数フィールド値

TYPE_INITIATOR

public static final int TYPE_INITIATOR
外部機器への接続を要求することを表します(=0)。

導入されたバージョン:
Star-1.1
関連項目:
startPairingByOOB(int, int, byte[]), 定数フィールド値

TYPE_RESPONDER

public static final int TYPE_RESPONDER
外部機器からの接続要求を待ち受けることを表します(=1)。

導入されたバージョン:
Star-1.1
関連項目:
startPairingByOOB(int, int, byte[]), 定数フィールド値
メソッドの詳細

getInstance

public static Bluetooth getInstance()
端末の Bluetooth 機能を表すインスタンスを取得します。

パーミッションとしてBluetooth APIの利用が許可されているトラステッドStar アプリのみ、 このメソッドを呼び出すことができます。

端末によっては、Bluetooth 機能をサポートしていない場合があります。 その場合には、例外 UnsupportedOperationException が発生します。

戻り値:
Bluetooth 機能を表すインスタンスを返します。
例外:
UnsupportedOperationException -
端末が Bluetooth 機能をサポートしていない場合に発生します。
SecurityException -
パーミッションとしてFeliCaオンライン機能の利用、FeliCaオフライン機能の利用、FeliCaリーダ/ライタ機能の利用のいずれかが許可されている、または、ADF のFeliCaCPIDキー、ADF のFeliCaPINキーのいずれかが指定されている場合に発生します。

scan

public RemoteDevice scan()
                  throws InterruptedOperationException
外部機器からの接続要求を待ち、 ユーザが外部機器との接続を選択した場合にRemoteDeviceオブジェクトが生成されます。

メソッドを呼び出すとStar アプリはサスペンドし、 ネイティブでInquiry ScanとPage Scanが同時に実行されます。 外部機器が未登録である場合には、 ペアリング処理や登録処理がネイティブ側で行われます。 処理終了後、Star アプリはレジュームします。

戻り値:
RemoteDeviceオブジェクトを返します。 ユーザが処理をキャンセルした場合には null を返します。
例外:
SecurityException -
ロック機能などのネイティブ独自のセキュリティ設定により、Bluetoothが利用できない場合に発生します。
DeviceException -
(RACE_CONDITION)
FeliCaがオープンされている場合に発生します。
DeviceException -
(RACE_CONDITION)
サーバー側としてアドホック通信中(Propose Ad-hoc Modeコマンドを受信してからアドホック通信終了まで)に発生します。
BluetoothException -
(TIMEOUT)
Inquiry Scan または Page Scan がタイムアウトである場合に発生します。 また、以下の場合も含みます。
  • パスキー入力待ちで何も入力されない場合のタイムアウト
BluetoothException -
(SELF_MODE)
端末がセルフモードの場合に発生します。
BluetoothException -
(LINKKEY_ERROR)
外部機器との接続でリンクキーが不一致である場合(パスキー誤りを含む)に発生します。
BluetoothException -
(BUSY_RESOURCE)
[Star-1.5 以降] イベントリスナにより接続要求を待っている場合に発生します。
BluetoothException -
(UNDEFINED)
その他の原因で、接続に失敗した場合に発生します。
InterruptedOperationException -
競合条件などにより、ネイティブ機能が異常終了した場合に発生します。

selectDevice

public RemoteDevice selectDevice()
                          throws InterruptedOperationException
ユーザによる外部機器の選択を行います。

このメソッドを呼び出すとStar アプリはサスペンドし、 ネイティブに処理が切り替わります。 機器登録済みの外部機器の一覧が表示され、 ユーザが一覧から機器を選択することでRemoteDeviceオブジェクトが生成されます。 なお、一覧に選択できる機器がなかった場合には、ユーザのキャンセルでStar アプリに戻ります。

既に生成された RemoteDevice オブジェクトを dispose しない限り、 複数回このメソッドの呼び出しにより同一機器が選択されても、 同一の有効な RemoteDevice オブジェクトへの参照が返されます。 RemoteDevice オブジェクトを dispose してから、 このメソッドの呼び出しにより同一機器が選択されると、 新しく有効な RemoteDevice オブジェクトが生成されて返されます。

戻り値:
RemoteDeviceオブジェクトを返します。 ユーザが機器選択をキャンセルした場合には null を返します。
例外:
SecurityException -
ロック機能などのネイティブ独自のセキュリティ設定により、Bluetoothが利用できない場合に発生します。
DeviceException -
(RACE_CONDITION)
FeliCa がオープンされている場合に発生します。
DeviceException -
(RACE_CONDITION)
サーバー側としてアドホック通信中(Propose Ad-hoc Modeコマンドを受信してからアドホック通信終了まで)に発生します。
BluetoothException -
(SELF_MODE)
端末がセルフモードの場合に発生します。
InterruptedOperationException -
競合条件などにより、ネイティブ機能が異常終了した場合に発生します。

searchAndSelectDevice

public RemoteDevice searchAndSelectDevice()
                                   throws InterruptedOperationException
外部機器探索を行い、ユーザによる外部機器の選択を行います。

このメソッドを呼び出すとStar アプリはサスペンドし、 ネイティブに処理が切り替わります。 ネイティブで DeviceDiscovery処理が実行され周辺の外部機器情報を取得します。 その後、接続可能な外部機器の一覧が表示され、 ユーザが一覧から機器を選択することでRemoteDeviceオブジェクトが生成されます。

既に生成された RemoteDevice オブジェクトを dispose しない限り、 複数回このメソッドの呼び出しにより同一機器が選択されても、 同一の有効な RemoteDevice オブジェクトへの参照が返されます。 RemoteDevice オブジェクトを dispose してから、 このメソッドの呼び出しにより同一機器が選択されると、 新しく有効な RemoteDevice オブジェクトが生成されて返されます。

外部機器が未登録の場合には、選択後、ペアリングや登録処理がネイティブで行われます。 ネイティブ機能が終了後、Star アプリはレジュームします。

外部機器探索と機器登録を行わず、登録済み機器を選択する場合には、selectDevice()を利用します。

戻り値:
RemoteDeviceオブジェクトを返します。 ユーザが周辺機器探索や機器選択をキャンセルした場合には null を返します。
例外:
SecurityException -
ロック機能などのネイティブ独自のセキュリティ設定により、Bluetoothが利用できない場合に発生します。
DeviceException -
(RACE_CONDITION)
FeliCa がオープンされている場合に発生します。
DeviceException -
(RACE_CONDITION)
サーバー側としてアドホック通信中(Propose Ad-hoc Modeコマンドを受信してからアドホック通信終了まで)に発生します。
BluetoothException -
(TIMEOUT)
Page がタイムアウトである場合に発生します。 また、以下の場合も含みます。
  • パスキー入力待ちで何も入力されない場合のタイムアウト
BluetoothException -
(SELF_MODE)
端末がセルフモードの場合に発生します。
BluetoothException -
(LINKKEY_ERROR)
外部機器との接続でリンクキーが不一致である場合(パスキー誤りを含む)に発生します。
BluetoothException -
(BUSY_RESOURCE)
[Star-1.5 以降] イベントリスナにより接続要求を待っている場合に発生します。
BluetoothException -
(UNDEFINED)
その他の原因で、接続に失敗した場合に発生します。
InterruptedOperationException -
競合条件などにより、ネイティブ機能が異常終了した場合に発生します。

startPairingByOOB

public RemoteDevice startPairingByOOB(int channel,
                                      int type,
                                      byte[] handoverId)
                               throws InterruptedOperationException
Bluetooth 帯域外(Out Of Band)の通信路を用いて外部機器との接続を行います。

このメソッドを呼び出すと Star アプリはサスペンドし、 ネイティブに処理が切り替わります。 ネイティブでは以下の処理が行われます。

  1. 外部機器への接続(タッチ)を促す画面が表示されます。
  2. 接続待ち受け画面が表示された状態で、接続可能な外部機器をこの端末に近づけると、その外部機器と接続され RemoteDevice オブジェクトが生成されます。 外部機器との接続の際には、ハンドオーバー処理が行われます。
  3. 処理終了後、Star アプリはレジュームします。

ここで、接続可能な外部機器とは、このメソッドを実行中(接続待ち受け画面表示中)の外部機器を指します。 ただしこの端末と外部機器で、接続に使用する通信路が共通で接続種別が異なっている必要があります。

引数 channel には接続に使用する通信路を指定してください。 引数 channel に OOB_CHANNEL_FELICA が指定された場合は、 FeliCa の DataExchange 機能を使用して接続が行われます。 引数 channel に OOB_CHANNEL_FELICA 以外が指定された場合は、例外 UnsupportedOperationException が発生します。

引数 type には接続種別を指定してください。 外部機器に対して接続を要求する場合は TYPE_INITIATOR を指定してください。 外部機器からの接続を待ち受ける場合は TYPE_RESPONDER を指定してください。

引数 handoverId にはハンドオーバー ID を指定してください。 引数 handoverId は外部機器との接続時のハンドオーバー処理に使用されます。 ハンドオーバー処理に失敗した場合は、例外 BluetoothException が発生します。 引数 handoverId には 32 バイトのバイト配列を指定してください。 32 バイト以外の長さの配列が指定された場合は例外が発生します。

外部機器が未登録であった場合、ペアリングや登録処理がネイティブで行われます。 外部機器が既に登録済みであった場合、ネイティブでペアリングや登録処理は行われず、 登録済みの情報を持った RemoteDevice オブジェクトのインスタンスが返されます。

既に生成された RemoteDevice オブジェクトを dispose しない限り、 複数回このメソッドの呼び出しにより同一機器と接続されても、 同一の有効な RemoteDevice オブジェクトへの参照が返されます。 RemoteDevice オブジェクトを dispose してから、 このメソッドの呼び出しにより同一機器と接続されると、 新しく有効な RemoteDevice オブジェクトが生成されて返されます。

パラメータ:
channel - 接続に使用する通信路を指定します。
type - 接続種別を指定します。
handoverId - ハンドオーバー ID を指定します。
戻り値:
RemoteDeviceオブジェクトを返します。 ユーザが外部機器の待ち受けをキャンセルした場合には null を返します。
導入されたバージョン:
Star-1.1
例外:
UnsupportedOperationException -
引数で指定された通信路をサポートしていない場合に発生します。
NullPointerException -
引数 handoverId に null が指定された場合に発生します。
IllegalArgumentException -
引数 type に不正な値が指定された場合に発生します。
IllegalArgumentException -
引数 handoverId に指定されたバイト配列の長さが 32 以外の場合に発生します。
SecurityException -
ロック機能などのネイティブ独自のセキュリティ設定により Bluetooth または引数で指定された通信路が利用できない場合に発生します。
DeviceException -
(RACE_CONDITION)
FeliCa がオープンされている場合に発生します。
DeviceException -
(RACE_CONDITION)
サーバー側としてアドホック通信中(Propose Ad-hoc Modeコマンドを受信してからアドホック通信終了まで)に発生します。
BluetoothException -
(TIMEOUT)
外部機器への接続要求、及び接続待ち受けがタイムアウトした場合に発生します。
BluetoothException -
(SELF_MODE)
端末がセルフモードの場合に発生します。
BluetoothException -
(LINKKEY_ERROR)
外部機器との接続でリンクキーが不一致である場合に発生します。
BluetoothException -
(HANDOVER_ERROR)
外部機器との接続でハンドオーバー処理に失敗した場合に発生します。
BluetoothException -
(BUSY_RESOURCE)
[Star-1.5 以降] イベントリスナにより接続要求を待っている場合に発生します。
BluetoothException -
(UNDEFINED)
その他の原因で、接続に失敗した場合に発生します。
InterruptedOperationException -
競合条件などにより、ネイティブ機能が異常終了した場合に発生します。

getDiscoveredDevice

public int getDiscoveredDevice()
ネイティブの登録機器リストに保持されている外部機器の数を取得します。

このメソッドでは登録済みの外部機器の数を返します。

戻り値:
ネイティブの登録機器リストに保持されている登録済みの外部機器の数を返します。

setInquiryTimeout

public void setInquiryTimeout(int time)
Inquiryの実行時間を設定します。

周辺機器探索処理において、何秒間 Inquiry を行うかを設定します。 設定可能な探索時間は 1 〜 20 秒までです。設定した値はStar アプリ終了後も有効です。

ミニマムスペック:
ミニマムスペックでは 5 秒、10 秒をサポートしています。 なお、1.28秒の倍数が設定値の近似値として実行されます。

パラメータ:
time - 探索時間(秒)を指定します。
例外:
IllegalArgumentException -
引数 time に 0 以下の値、または 21 以上の値が指定された場合に発生します。

getInquiryTimeout

public int getInquiryTimeout()
Inquiryの実行時間を取得します。

周辺機器探索処理における Inquiry の実行時間を取得します。setInquiryTimeout()で値を設定していない場合は、ネイティブで設定されている値を返します。

戻り値:
探索時間(秒)を返します。

isConnectable

public boolean isConnectable(int type)
引数に指定したプロファイルで外部機器とStar アプリが接続可能であるか否かを取得します。

接続の可否は、Star アプリが接続しようとしているものとは異なる外部機器と端末がすでにBluetoothで接続している場合、 どのプロファイルを利用して接続しているかに依存します。

なお、このメソッドで接続可能を取得した場合でも、その後に端末の接続状態が変わると、 RemoteDevice.accept(int)、RemoteDevice.connect(int) で、 例外 DeviceException(BUSY_RESOURCE) が発生することがあります。

パラメータ:
type - プロファイルを指定します。
戻り値:
引数で指定したプロファイルで接続可能な場合にはtrueを、接続不可能な場合にはfalseを返します。

turnOff

public void turnOff()
Bluetooth電源をオフにします。

このアプリが Bluetooth 接続を行っていない状態で、 isConnectable() が false を返した場合、このメソッドを呼ぶことによって、 Star アプリを終了することなくネイティブで使われている Bluetooth 接続を切断することができます。 なお、Bluetooth の電源オンは、通信や接続時にネイティブ側で自動的に行われます。

例外:
BluetoothException -
(UNDEFINED)
通信中などにより、電源をオフできない場合に発生します。

setDetachmentMode

public void setDetachmentMode(boolean flag)
機器登録処理後に接続(ACLリンク)を切断するかどうかを設定します。

次のメソッドに対して、 機器登録処理後に接続を切断するか継続するかを操作します。

接続を切断する場合は 引数 flag に true、 接続を継続する場合は 引数 flag に false を指定します。

このオブジェクトが生成された直後では、デフォルト値として true が設定されます。

パラメータ:
flag - 切断する場合は true、継続する場合は false を指定します。

isDetachmentMode

public boolean isDetachmentMode()
機器登録処理後に接続(ACLリンク)を切断するかどうかを返します。

次のメソッドについて、 機器登録処理後に接続を切断するか継続するかを確認することができます。

切断する場合は true、継続する場合は false を返します。

このオブジェクトが生成された直後では、デフォルト値として true を返します。

戻り値:
切断する場合は true、継続する場合は false を返します。

getMaxConnection

public int getMaxConnection(int type)
引数に指定したプロファイルに対して、 この端末の Bluetooth 未接続状態における同時に接続可能な数を返します。

このクラスで未定義のプロファイルを指定した場合は、同時に接続可能な数として 0 を返します。

同一プロファイルの同時接続数はデバイスの実装に依存した固定値です。 ネイティブの Bluetooth 接続状況によって、 このメソッドが返す同時接続数まで Bluetooth 接続が出来ない場合もあります。

パラメータ:
type - プロファイルを指定します。
戻り値:
同時に接続可能な数を返します。
導入されたバージョン:
Star-1.5

getDiscoveredRemoteDeviceList

public RemoteDevice[] getDiscoveredRemoteDeviceList()
                                             throws InterruptedOperationException
ネイティブの登録機器リストに保持されている外部機器のリストを取得します。

このメソッドを呼び出すと Star アプリはサスペンドし、 ネイティブに処理が切り替わりユーザ確認のダイアログが表示されます。 ユーザ確認で了承されると、Star アプリはレジュームし、 ネイティブの登録機器リストに存在するすべての RemoteDevice が戻り値となる配列に格納されます。

登録機器リストに保持されている外部機器が一つも存在しない場合は、 null を返します。

このメソッドを複数回呼び出した場合、呼び出す度に新しい配列が生成され、 その配列への参照が返されます。

配列の各要素である RemoteDevice オブジェクトは、 dispose しない限り、 このメソッドを複数回呼び出しても同一の有効な RemoteDevice オブジェクトへの参照が配列に格納されます。 RemoteDevice オブジェクトを dispose してからこのメソッドを呼び出すと、 新しく有効な RemoteDevice オブジェクトが生成されて配列に格納されます。

端末によってはこのメソッドをサポートしていない場合があります。 その場合には、例外 UnsupportedOperationException が発生します。

戻り値:
外部機器のリストを返します。ユーザ操作によりキャンセルされた場合は、null を返します。
導入されたバージョン:
Star-1.5
例外:
UnsupportedOperationException -
端末がこのメソッドをサポートしていない場合に発生します。
SecurityException -
ロック機能などのネイティブ独自のセキュリティ設定により、Bluetoothが利用できない場合に発生します。
DeviceException -
(RACE_CONDITION)
FeliCa がオープンされている場合に発生します。
DeviceException -
(RACE_CONDITION)
サーバー側としてアドホック通信中(Propose Ad-hoc Modeコマンドを受信してからアドホック通信終了まで)に発生します。
InterruptedOperationException -
競合条件などにより、ネイティブ機能が異常終了した場合に発生します。

searchDevice

public DeviceDiscoveryResult[] searchDevice()
外部機器検索を行います。

このメソッドを呼び出すと DeviceDiscovery 処理が実行され、 応答があった周辺の外部機器の情報を DeviceDiscoveryResult のリストとして返します。

このメソッドは、ペアリングや登録処理を行いません。 外部機器とのペアリングを行うには startPairing(DeviceDiscoveryResult) に、 ペアリングの対象となる外部機器の DeviceDiscoveryResult を指定して下さい。

このメソッドを複数回呼び出した場合、呼び出す度に新しい配列が生成され、 その配列への参照が返されます。

端末によって、このメソッドをサポートしていない場合があります。 その場合には、例外 UnsupportedOperationException が発生します。

戻り値:
外部機器の検索結果を DeviceDiscoveryResult のリストで返します。
導入されたバージョン:
Star-1.5
例外:
UnsupportedOperationException -
端末がこのメソッドをサポートしていない場合に発生します。
SecurityException -
ロック機能などのネイティブ独自のセキュリティ設定により、Bluetoothが利用できない場合に発生します。
BluetoothException -
(TIMEOUT)
機器検索がタイムアウトした場合に発生します。
BluetoothException -
(SELF_MODE)
端末がセルフモードの場合に発生します。
BluetoothException -
(UNDEFINED)
その他の原因で、検索に失敗した場合に発生します。

startPairing

public RemoteDevice startPairing(DeviceDiscoveryResult targetDevice)
                          throws InterruptedOperationException
外部機器の検索結果を指定し、外部機器との接続を行います。

このメソッドを呼び出すと、 Star アプリはサスペンドし、ネイティブに処理が切り替わります。 ユーザ確認で了承されると、 引数 targetDevice に指定された DeviceDiscoveryResult に対応する外部機器とペアリングを行い、ネイティブへ機器登録されます。 この外部機器の登録処理が完了すると、Starアプリはレジュームし、 ペアリングが完了した外部機器の RemoteDevice インスタンスを返します。 このメソッドにより登録された外部機器は、selectDevice() の選択対象に含まれます。 ユーザ操作によりネイティブの処理がキャンセルされた場合、Starアプリはレジュームします。 引数 targetDevice に登録済みの外部機器が指定された場合、再度ペアリングと登録処理を行います。

既に生成された RemoteDevice オブジェクトを dispose しない限り、 同一の Bluetooth アドレスを持つ DeviceDiscoveryResult を指定して複数回このメソッドを呼び出しても、 同一の有効な RemoteDevice オブジェクトへの参照が返されます。 RemoteDevice オブジェクトを dispose してから、 同一の Bluetooth アドレスを持つ DeviceDiscoveryResult を指定してこのメソッドの呼び出すと、 新しく有効な RemoteDevice オブジェクトが生成されて返されます。

パラメータ:
targetDevice - ペアリングを行う外部機器の DeviceDiscoveryResult を指定します。
戻り値:
ペアリングが完了した外部機器の RemoteDevice を返します。 ユーザ操作によりキャンセルされた場合は、null を返します。
導入されたバージョン:
Star-1.5
例外:
UnsupportedOperationException -
端末がこのメソッドをサポートしていない場合に発生します。
NullPointerException -
引数 targetDevice に null が指定された場合に発生します。
SecurityException -
ロック機能などのネイティブ独自のセキュリティ設定により、Bluetoothが利用できない場合に発生します。
DeviceException -
(RACE_CONDITION)
FeliCa がオープンされている場合に発生します。
DeviceException -
(RACE_CONDITION)
サーバー側としてアドホック通信中(Propose Ad-hoc Modeコマンドを受信してからアドホック通信終了まで)に発生します。
BluetoothException -
(TIMEOUT)
接続要求がタイムアウトした場合に発生します。
BluetoothException -
(SELF_MODE)
端末がセルフモードの場合に発生します。
BluetoothException -
(LINKKEY_ERROR)
外部機器との接続でリンクキーが不一致である場合に発生します。
BluetoothException -
(BUSY_RESOURCE)
イベントリスナにより接続要求を待っている場合に発生します。
BluetoothException -
(UNDEFINED)
その他の原因で、接続に失敗した場合に発生します。
InterruptedOperationException -
競合条件などにより、ネイティブ機能が異常終了した場合に発生します。

getDiscoveredRemoteDevice

public RemoteDevice getDiscoveredRemoteDevice(DeviceDiscoveryResult targetDevice)
                                       throws InterruptedOperationException
指定した DeviceDiscoveryResult オブジェクトに対応した、 ネイティブの登録機器リストに保持されている外部機器を取得します。

このメソッドを呼び出すと Star アプリはサスペンドし、 ネイティブに処理が切り替わりユーザ確認のダイアログが表示されます。 ユーザ確認で了承されると、Star アプリはレジュームし、 RemoteDevice オブジェクトを返します。

DeviceDiscoveryResult オブジェクトに対応した外部機器がネイティブの登録機器リストにない場合には、 null が返されます。

既に生成された RemoteDevice オブジェクトを dispose しない限り、 複数回このメソッドの呼び出しにより同一機器が選択されても、 同一の有効な RemoteDevice オブジェクトへの参照が返されます。 RemoteDevice オブジェクトを dispose してから、 このメソッドの呼び出しにより同一機器が選択されると、 新しく有効な RemoteDevice オブジェクトが生成されて返されます。

端末によってはこのメソッドをサポートしていない場合があります。 その場合には、例外 UnsupportedOperationException が発生します。

パラメータ:
targetDevice - 外部機器の DeviceDiscoveryResult を指定します。
戻り値:
外部機器を返します。ユーザ操作によりキャンセルされた場合は、null を返します。
導入されたバージョン:
Star-1.5
例外:
UnsupportedOperationException -
端末がこのメソッドをサポートしていない場合に発生します。
NullPointerException -
引数 targetDevice に null が指定された場合に発生します。
SecurityException -
ロック機能などのネイティブ独自のセキュリティ設定により、Bluetoothが利用できない場合に発生します。
DeviceException -
(RACE_CONDITION)
FeliCa がオープンされている場合に発生します。
DeviceException -
(RACE_CONDITION)
サーバー側としてアドホック通信中(Propose Ad-hoc Modeコマンドを受信してからアドホック通信終了まで)に発生します。
InterruptedOperationException -
競合条件などにより、ネイティブ機能が異常終了した場合に発生します。


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ドコモの商標または登録商標です。

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