通过 Settings.Secure 获取蓝牙地址
Getting bluetooth address via Settings.Secure
我正在尝试通过 Settings.Secure 获取 Android 设备的 MAC 地址,使用以下代码:
String btMac = android.provider.Settings.Secure.getString(getApplicationContext().getContentResolver(), "bluetooth_address");
它适用于我试过的多种设备,包括 Samsung Galaxy S6/S7/Pixel/Nexus5。但是,在一些较旧的 phone 上,例如 HTC One X (4.2.2) 和另一个通用 Android phone (4.1),该字符串为空。
这是 Android 版本问题吗?还是供应商构建问题,即这些构建的 Settings.Secure 中不存在 "bluetooth_address"。无论如何,是否可以查看 Settings.Secure 中可用于这些设备的内容?
谢谢。
编辑:难道是因为 BluetoothManager 是 4.3 才引入的,而 "bluetooth_name" 存在于 BluetoothManagerService.java,4.3 之前不存在?
因此,由于 BluetoothManager 仅在 4.3 中引入,因此在 Android 4.3
之前这是不可能的
我正在尝试通过 Settings.Secure 获取 Android 设备的 MAC 地址,使用以下代码:
String btMac = android.provider.Settings.Secure.getString(getApplicationContext().getContentResolver(), "bluetooth_address");
它适用于我试过的多种设备,包括 Samsung Galaxy S6/S7/Pixel/Nexus5。但是,在一些较旧的 phone 上,例如 HTC One X (4.2.2) 和另一个通用 Android phone (4.1),该字符串为空。
这是 Android 版本问题吗?还是供应商构建问题,即这些构建的 Settings.Secure 中不存在 "bluetooth_address"。无论如何,是否可以查看 Settings.Secure 中可用于这些设备的内容?
谢谢。
编辑:难道是因为 BluetoothManager 是 4.3 才引入的,而 "bluetooth_name" 存在于 BluetoothManagerService.java,4.3 之前不存在?
因此,由于 BluetoothManager 仅在 4.3 中引入,因此在 Android 4.3
之前这是不可能的