API version 23

SmaPriBluetooth.Discoverメソッド変更履歴

iOSAndroidWindows

説明

Bluetoothデバイスを検索し、検索結果のデバイスを取得します。

 

呼出形式

var devices = sb.Discover( [timeoutSec [, isAsync]] );

 

戻り値

下記の子オブジェクトを持つRecordの配列が返ります。

 

型

名前

説明

String

DeviceId

BluetoothデバイスのBDアドレスが格納されます。

(BDアドレスの形式はMACアドレスと同じです)

String

Name

Bluetoothデバイスの名称が格納されます。

Number

ConnectableAsBluetoothClassic

Bluetooth Classicデバイスとして接続できるデバイスであれば$TRUEが、接続できなければ$FALSEが格納されます。

Number

ConnectableAsBluetoothLE

BLE(Bluetooth Low Energy)デバイスとして接続できるデバイスであれば$TRUEが、接続できなければ$FALSEが格納されます。

Number

HasRssi

RSSI値(Received Signal Strength Indication)を持つ場合は$TRUEが、持たない場合は$FALSEが格納されます。

BLEデバイスでも稀にRSSI値を持たないものがあります。

Number

Rssi

HasRssiが$TRUEの場合、RSSI値が格納されます。単位はdBmです。

HasRssiが$FALSEの場合、このオブジェクトは付加されません。

Number

HasTxPowerLevel

送信出力値を持つ場合は$TRUEが、持たない場合は$FALSEが格納されます。

Number

TxPowerLevel

HasTxPowerLevelが$TRUEの場合、送信出力値が格納されます。単位はdBmです。

HasTxPowerLevelが$FALSEの場合、このオブジェクトは付加されません。

Array

ServiceUuidList

アドバタイズされているサービス一覧が格納されます。

なお、アドバタイズされていないだけで使用できるサービスがある場合があります。

Array

ManufacturerSpecificDataList

メーカー固有の情報(Manufacturer Specific Data)が格納されます。

下記Recordの配列となります。

型

名前

説明

Number

CompanyId

メーカー固有のID

ByteArray

Data

Manufacturer Specific Dataのバイト列

Array

ServiceDataList

Service Dataの情報が格納されます。

下記Recordの配列となります。

型

名前

説明

String

uuid

サービスのUUID

ByteArray

Data

Service Dataのバイト列

 

引数

integer timeoutSec

検索を行う時間を秒単位で指定します。

省略した場合、呼び出し時点で見つかっているデバイスを取得します。

 

boolean isAsync

非同期で検索を行うかどうかを指定します。

$TRUEを指定するとメソッドはすぐに処理を返し、バックグラウンドで検索を行います。

$FALSEを指定するとtimeoutSecで指定した秒数が経過するまでメソッドは処理を返さず、時間経過後は検索結果のデバイスを返します。

 

例外

RTM-47

位置情報へのアクセスに失敗しました。

 

RTM-83

Bluetoothが有効になっていません。

 

RTM-84

Bluetoothの使用が許可されていません。OSの設定でBluetoothの使用を許可してください。 *1

 

SMAPRI-18

BluetoothDeviceの検索に失敗しました。

 

使用例

SmaPriBluetooth sb;
Form form1 {
    Width = 424;
    Height = 320;
    Button btnStartDiscover {
        X = 16;
        Y = 16;
        Width = 120;
        Height = 40;
        Title = "デバイススキャン開始";
        Function OnTouch( e ) {
                try {
                    /* Bluetoothデバイスのスキャン開始 */
                    ^.sb.Discover(10, $TRUE);
                } catch(e) {
                    MessageBox(e.Message);
                }
        }
    }
    Button btnGetDeviceList {
        X = 184;
        Y = 16;
        Width = 120;
        Height = 40;
        Title = "デバイスリスト取得";
        Function OnTouch( e ) {
            var devices = ^.sb.Discover();
            for (var i = 0; i < devices.length; i++) {
                print(devices[i].DeviceId + "\n");
            }
        }
    }
}

 

関連項目

変更履歴
*1 API version 26で追加されました。


「オンラインマニュアル」一覧へ戻る
「Bizの宝箱」TOPへ戻る