|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||
Objectcom.docomostar.device.Bluetooth
public class Bluetooth
端末のBluetooth 機能を表すクラスを定義します。
このクラスでは、端末の Bluetooth 機能を呼び出して、 外部機器の検索、機器選択、機器登録、各種設定などを行います。 外部機器が選択されると、その外部機器に対応したRemoteDeviceクラスのオブジェクトを取得します。
RemoteDevice,
BTStateListener,
BTConnection,
SPPConnection| フィールドの概要 | |
|---|---|
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()
ネイティブの登録機器リストに保持されている外部機器の数を取得します。 |
int |
getInquiryTimeout()
Inquiryの実行時間を取得します。 |
static Bluetooth |
getInstance()
端末の Bluetooth 機能を表すインスタンスを取得します。 |
boolean |
isConnectable(int type)
引数に指定したプロファイルで外部機器とStar アプリが接続可能であるか否かを取得します。 |
boolean |
isDetachmentMode()
機器登録処理後に接続(ACLリンク)を切断するかどうかを返します。 |
RemoteDevice |
scan()
外部機器からの接続要求を待ち、 ユーザが外部機器との接続を選択した場合にRemoteDeviceオブジェクトが生成されます。 |
RemoteDevice |
searchAndSelectDevice()
外部機器探索を行い、ユーザによる外部機器の選択を行います。 |
RemoteDevice |
selectDevice()
ユーザによる外部機器の選択を行います。 |
void |
setDetachmentMode(boolean flag)
機器登録処理後に接続(ACLリンク)を切断するかどうかを設定します。 |
void |
setInquiryTimeout(int time)
Inquiryの実行時間を設定します。 |
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
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 - 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 - 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 - 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()
isConnectable() が false を返したときに、このメソッドを呼ぶことで、 Star アプリを終了することなくネイティブで使われている Bluetooth 接続を切断することができます。 なお、Bluetooth の電源オンは、通信や接続時にネイティブ側で自動的に行われます。
BluetoothException - public void setDetachmentMode(boolean flag)
searchAndSelectDevice()/scan()/startPairingByOOB(int, int, byte[]) に対して、
機器登録処理後に接続を切断するか継続するかを操作します。
接続を切断する場合は 引数 flag に true、
接続を継続する場合は 引数 flag に false を指定します。
このオブジェクトが生成された直後では、デフォルト値として true が設定されます。
flag - 切断する場合は true、継続する場合は false を指定します。public boolean isDetachmentMode()
searchAndSelectDevice()/scan()/startPairingByOOB(int, int, byte[]) について
機器登録処理後に接続を切断するか継続するかを確認することができます。
切断する場合は true、継続する場合は false を返します。
このオブジェクトが生成された直後では、デフォルト値として true を返します。
|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||
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ドコモの商標または登録商標です。
その他記載された会社名、製品名などは該当する各社の商標または登録商標です。