15

Android 4.3 までは、Bluetooth Low Energy をサポートする Android デバイスは中央デバイスとしてしか機能できませんでした。Android 4.3 Bluetooth LEドキュメントに記載されているとおり:

Android 4.3 (API レベル 18) では、中心的な役割で Bluetooth Low Energy の組み込みプラットフォーム サポートが導入され、アプリがデバイスの検出、サービスのクエリ、および読み取り/書き込み特性に使用できる API が提供されます。

Android 4.4 KitKatの導入により、周辺機器としても動作するようになりましたか? そのドキュメントは見つかりませんでした。そうでない場合、Android デバイスで BTLE ペリフェラル モードを取得するには、Android 4.5 を待つ必要がありますか? または、Android デバイスを周辺機器として機能させる別の方法はありますか?

4

3 に答える 3

18

このバージョンにはありませんが、間もなく登場するという証拠があります。
android-19 ソースの BluetoothGatt.java を見ると、新しいメソッドlistensetAdvDataあり、android-18 にはありませんでした。
ただし、ネイティブ サポートがまだ完全であるとは思わないため、これらは文書化されていません。ペリフェラル モードの AOSP での最後のチェックは、「LE: ペリフェラル ロール サポートの追加 (2/4)」というタイトルでした。また、次のコードがsetAdvDataありlistenます。

if (mContext == null || !mContext.getResources().getBoolean(com.android.internal.R.bool.config_bluetooth_le_peripheral_mode_supported))
{
    throw new UnsupportedOperationException("BluetoothGatt#listen is blocked");
}

Android ソースから android/platform_frameworks_base/blob/master/core/res/res/values/config.xml を見ると、これが現在無効になっていることがわかります。

<!-- Boolean indicating if current platform supports BLE peripheral mode -->
<bool name="config_bluetooth_le_peripheral_mode_supported">false</bool>
于 2013-12-13T14:39:20.303 に答える