|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||
Objectcom.docomostar.device.Bluetooth
public class Bluetooth
端末の Bluetooth 機能を表すクラスを定義します。
このクラスでは、端末の Bluetooth 機能を呼び出して、 外部機器の検索、機器選択、機器登録、各種設定などを行います。 外部機器が選択されると、その外部機器に対応したRemoteDeviceクラスのオブジェクトを取得します。
[Star-1.5 以降]
searchDevice() により周辺の外部機器を検索し、
見つかった外部機器の情報として DeviceDiscoveryResult オブジェクトを取得することができます。
この DeviceDiscoveryResult オブジェクトを
startPairing(DeviceDiscoveryResult) の引数に指定することで機器登録ができます。
また、getDiscoveredRemoteDeviceList() により現在端末に登録されている外部機器のリストを取得することができます。
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 |
| フィールドの詳細 |
|---|
public static final int SPP
RemoteDevice.isAvailable(int),
RemoteDevice.connect(int),
RemoteDevice.accept(int),
isConnectable(int),
定数フィールド値public static final int HDP
RemoteDevice.isAvailable(int),
RemoteDevice.connect(int),
RemoteDevice.accept(int),
isConnectable(int),
定数フィールド値public static final int OOB_CHANNEL_FELICA
startPairingByOOB(int, int, byte[]),
定数フィールド値public static final int TYPE_INITIATOR
startPairingByOOB(int, int, byte[]),
定数フィールド値public static final int TYPE_RESPONDER
startPairingByOOB(int, int, byte[]),
定数フィールド値| メソッドの詳細 |
|---|
public static Bluetooth getInstance()
パーミッションとしてBluetooth APIの利用が許可されているトラステッドStar アプリのみ、 このメソッドを呼び出すことができます。
端末によっては、Bluetooth 機能をサポートしていない場合があります。 その場合には、例外 UnsupportedOperationException が発生します。
UnsupportedOperationException -
SecurityException -
public RemoteDevice scan()
throws InterruptedOperationException
メソッドを呼び出すとStar アプリはサスペンドし、 ネイティブでInquiry ScanとPage Scanが同時に実行されます。 外部機器が未登録である場合には、 ペアリング処理や登録処理がネイティブ側で行われます。 処理終了後、Star アプリはレジュームします。
SecurityException -
DeviceException - DeviceException - BluetoothException - BluetoothException - BluetoothException - BluetoothException - イベントリスナにより接続要求を待っている場合に発生します。
BluetoothException - InterruptedOperationException -
public RemoteDevice selectDevice()
throws InterruptedOperationException
このメソッドを呼び出すとStar アプリはサスペンドし、 ネイティブに処理が切り替わります。 機器登録済みの外部機器の一覧が表示され、 ユーザが一覧から機器を選択することでRemoteDeviceオブジェクトが生成されます。 なお、一覧に選択できる機器がなかった場合には、ユーザのキャンセルでStar アプリに戻ります。
既に生成された RemoteDevice オブジェクトを dispose しない限り、 複数回このメソッドの呼び出しにより同一機器が選択されても、 同一の有効な RemoteDevice オブジェクトへの参照が返されます。 RemoteDevice オブジェクトを dispose してから、 このメソッドの呼び出しにより同一機器が選択されると、 新しく有効な RemoteDevice オブジェクトが生成されて返されます。
SecurityException -
DeviceException - DeviceException - BluetoothException - InterruptedOperationException -
public RemoteDevice searchAndSelectDevice()
throws InterruptedOperationException
このメソッドを呼び出すとStar アプリはサスペンドし、 ネイティブに処理が切り替わります。 ネイティブで DeviceDiscovery処理が実行され周辺の外部機器情報を取得します。 その後、接続可能な外部機器の一覧が表示され、 ユーザが一覧から機器を選択することでRemoteDeviceオブジェクトが生成されます。
既に生成された RemoteDevice オブジェクトを dispose しない限り、 複数回このメソッドの呼び出しにより同一機器が選択されても、 同一の有効な RemoteDevice オブジェクトへの参照が返されます。 RemoteDevice オブジェクトを dispose してから、 このメソッドの呼び出しにより同一機器が選択されると、 新しく有効な RemoteDevice オブジェクトが生成されて返されます。
外部機器が未登録の場合には、選択後、ペアリングや登録処理がネイティブで行われます。 ネイティブ機能が終了後、Star アプリはレジュームします。
外部機器探索と機器登録を行わず、登録済み機器を選択する場合には、selectDevice()を利用します。
SecurityException -
DeviceException - DeviceException - BluetoothException - BluetoothException - BluetoothException - BluetoothException - イベントリスナにより接続要求を待っている場合に発生します。
BluetoothException - InterruptedOperationException -
public RemoteDevice startPairingByOOB(int channel,
int type,
byte[] handoverId)
throws InterruptedOperationException
このメソッドを呼び出すと 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 を指定します。
UnsupportedOperationException -
NullPointerException -
IllegalArgumentException -
IllegalArgumentException -
SecurityException -
DeviceException - DeviceException - BluetoothException - BluetoothException - BluetoothException - BluetoothException - BluetoothException - イベントリスナにより接続要求を待っている場合に発生します。
BluetoothException - InterruptedOperationException -
public int getDiscoveredDevice()
このメソッドでは登録済みの外部機器の数を返します。
public void setInquiryTimeout(int time)
周辺機器探索処理において、何秒間 Inquiry を行うかを設定します。 設定可能な探索時間は 1 〜 20 秒までです。設定した値はStar アプリ終了後も有効です。
time - 探索時間(秒)を指定します。
IllegalArgumentException -
public int getInquiryTimeout()
周辺機器探索処理における Inquiry の実行時間を取得します。setInquiryTimeout()で値を設定していない場合は、ネイティブで設定されている値を返します。
public boolean isConnectable(int type)
接続の可否は、Star アプリが接続しようとしているものとは異なる外部機器と端末がすでにBluetoothで接続している場合、 どのプロファイルを利用して接続しているかに依存します。
なお、このメソッドで接続可能を取得した場合でも、その後に端末の接続状態が変わると、
RemoteDevice.accept(int)、RemoteDevice.connect(int) で、
例外 DeviceException(BUSY_RESOURCE) が発生することがあります。
type - プロファイルを指定します。
public void turnOff()
このアプリが Bluetooth 接続を行っていない状態で、 isConnectable() が false を返した場合、このメソッドを呼ぶことによって、 Star アプリを終了することなくネイティブで使われている Bluetooth 接続を切断することができます。 なお、Bluetooth の電源オンは、通信や接続時にネイティブ側で自動的に行われます。
BluetoothException - public void setDetachmentMode(boolean flag)
次のメソッドに対して、 機器登録処理後に接続を切断するか継続するかを操作します。
searchAndSelectDevice()scan()startPairingByOOB(int, int, byte[])startPairing(DeviceDiscoveryResult)接続を切断する場合は 引数 flag に true、 接続を継続する場合は 引数 flag に false を指定します。
このオブジェクトが生成された直後では、デフォルト値として true が設定されます。
flag - 切断する場合は true、継続する場合は false を指定します。public boolean isDetachmentMode()
次のメソッドについて、 機器登録処理後に接続を切断するか継続するかを確認することができます。
searchAndSelectDevice()scan()startPairingByOOB(int, int, byte[])startPairing(DeviceDiscoveryResult)切断する場合は true、継続する場合は false を返します。
このオブジェクトが生成された直後では、デフォルト値として true を返します。
public int getMaxConnection(int type)
このクラスで未定義のプロファイルを指定した場合は、同時に接続可能な数として 0 を返します。
同一プロファイルの同時接続数はデバイスの実装に依存した固定値です。 ネイティブの Bluetooth 接続状況によって、 このメソッドが返す同時接続数まで Bluetooth 接続が出来ない場合もあります。
type - プロファイルを指定します。
public RemoteDevice[] getDiscoveredRemoteDeviceList()
throws InterruptedOperationException
このメソッドを呼び出すと Star アプリはサスペンドし、 ネイティブに処理が切り替わりユーザ確認のダイアログが表示されます。 ユーザ確認で了承されると、Star アプリはレジュームし、 ネイティブの登録機器リストに存在するすべての RemoteDevice が戻り値となる配列に格納されます。
登録機器リストに保持されている外部機器が一つも存在しない場合は、 null を返します。
このメソッドを複数回呼び出した場合、呼び出す度に新しい配列が生成され、 その配列への参照が返されます。
配列の各要素である RemoteDevice オブジェクトは、 dispose しない限り、 このメソッドを複数回呼び出しても同一の有効な RemoteDevice オブジェクトへの参照が配列に格納されます。 RemoteDevice オブジェクトを dispose してからこのメソッドを呼び出すと、 新しく有効な RemoteDevice オブジェクトが生成されて配列に格納されます。
端末によってはこのメソッドをサポートしていない場合があります。 その場合には、例外 UnsupportedOperationException が発生します。
UnsupportedOperationException -
SecurityException -
DeviceException - DeviceException - InterruptedOperationException -
public DeviceDiscoveryResult[] searchDevice()
このメソッドを呼び出すと DeviceDiscovery 処理が実行され、
応答があった周辺の外部機器の情報を DeviceDiscoveryResult のリストとして返します。
このメソッドは、ペアリングや登録処理を行いません。
外部機器とのペアリングを行うには startPairing(DeviceDiscoveryResult) に、
ペアリングの対象となる外部機器の DeviceDiscoveryResult を指定して下さい。
このメソッドを複数回呼び出した場合、呼び出す度に新しい配列が生成され、 その配列への参照が返されます。
端末によって、このメソッドをサポートしていない場合があります。 その場合には、例外 UnsupportedOperationException が発生します。
UnsupportedOperationException -
SecurityException -
BluetoothException - BluetoothException - BluetoothException -
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 を指定します。
UnsupportedOperationException -
NullPointerException -
SecurityException -
DeviceException - DeviceException - BluetoothException - BluetoothException - BluetoothException - BluetoothException - イベントリスナにより接続要求を待っている場合に発生します。
BluetoothException - InterruptedOperationException -
public RemoteDevice getDiscoveredRemoteDevice(DeviceDiscoveryResult targetDevice)
throws InterruptedOperationException
このメソッドを呼び出すと Star アプリはサスペンドし、 ネイティブに処理が切り替わりユーザ確認のダイアログが表示されます。 ユーザ確認で了承されると、Star アプリはレジュームし、 RemoteDevice オブジェクトを返します。
DeviceDiscoveryResult オブジェクトに対応した外部機器がネイティブの登録機器リストにない場合には、 null が返されます。
既に生成された RemoteDevice オブジェクトを dispose しない限り、 複数回このメソッドの呼び出しにより同一機器が選択されても、 同一の有効な RemoteDevice オブジェクトへの参照が返されます。 RemoteDevice オブジェクトを dispose してから、 このメソッドの呼び出しにより同一機器が選択されると、 新しく有効な RemoteDevice オブジェクトが生成されて返されます。
端末によっては Bluetooth 外部機器からの Star アプリケーション起動をサポートしていない場合があります。 その場合には、例外 UnsupportedOperationException が発生します。
targetDevice - 外部機器の DeviceDiscoveryResult を指定します。
UnsupportedOperationException -
NullPointerException -
SecurityException -
DeviceException - DeviceException - 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ドコモの商標または登録商標です。
その他記載された会社名、製品名などは該当する各社の商標または登録商標です。