0
ブルートゥースアンドロイドAPIからフェッチアンドロイドセカンダリブルートゥースガットサービス。現在、以下のセカンダリブルートゥースギャットサービスを取得します。
たちはBLEサービスをフェッチコードです:
public void onServicesDiscovered(BluetoothGatt gatt, int status) {
if (status == BluetoothGatt.GATT_SUCCESS) {
broadcastUpdate(ACTION_GATT_SERVICES_DISCOVERED);
List<BluetoothGattService> gattServices = mBluetoothGatt.getServices();
Log.e("onServicesDiscovered", "Services count: "+gattServices.size());
BluetoothGattService bleServ = mBluetoothGatt.getService(UUID.fromString("22222222-0000-0000-0000-000000000000"));
for (BluetoothGattService gattService : gattServices) {
String serviceUUID = gattService.getUuid().toString();
Log.e("onServicesDiscovered", "Service uuid "+serviceUUID);
}
} else {
Log.w(TAG, "onServicesDiscovered received: " + status);
}
}
は専らセカンダリサービスを取得しようとしたが、それはNULLオブジェクトを返します。
BluetoothGattService bleServ = mBluetoothGatt.getService(UUID.fromString("22222222-0000-0000-0000-000000000000"));
誰かが検索する方法を任意のポインタを指すことができますAndroidの二次的なサービス。
応答ありがとうございます。私も、私たちのBluetoothスタック開発者と同じ議論をしました。二次サービスをブリーフ周辺機器上の一次サービスの一部にする方法を入力することができますか?私たちのbleチームはBlueZスタックを使用しています。以下は、bleデバイス上でサービスを作成するために参照しているリンクです。https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/gatt- api.txt – ASH
BlueZで実装されていないようです "array {object} [読み取り専用]を含みます:実装されていません"。二次的なサービスが本当に必要ですか?プライマリサービスを使用できませんか? – Emil
接続のためにすべてのデバイスに特定のサービスを公開しないという要件があります。周辺機器との接続が許可されているデバイスだけが、他のセカンダリサービスと通信することができます。 – ASH