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へ戻る