gpt4 book ai didi

android - getBluetoothLeAdvertiser() 返回 null

转载 作者:太空狗 更新时间:2023-10-29 16:00:10 29 4
gpt4 key购买 nike

BluetoothLeAdvertiser advertiser = BluetoothAdapter.getDefaultAdapter().getBluetoothLeAdvertiser();

这将返回空值。我已经在 API 21 和 API 23 设备上进行了尝试,但结果相同。我不知道我错过了什么?

应用程序构建和运行都很好,当然直到广告商被使用并且应用程序崩溃。

我感谢提供的任何帮助! :)

最佳答案

如果您查看开发人员文档,请链接 here .您会看到在以下情况下返回了 null 对象:

Returns a BluetoothLeAdvertiser object for Bluetooth LE Advertising operations. Will return null if Bluetooth is turned off or if Bluetooth LE Advertising is not supported on this device.

如果您不确定设备是否完全支持蓝牙,您应该检查系统返回的 BluetoothAdapter 是否为 null

BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (mBluetoothAdapter == null) {
// Device does not support Bluetooth
}

然后他们建议你先调用isMultipleAdvertisementSupported()看看是否支持。

if(!mBluetoothAdapter.isMultipleAdvertisementSupported()){
//Device does not support Bluetooth LE
}

如果它支持 BLE,您必须检查蓝牙是否已启用,如果未启用,请告知用户并解决它。

if (!mBluetoothAdapter.isEnabled()) {
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
}

这应该涵盖适配器为 null 的大部分时间

关于android - getBluetoothLeAdvertiser() 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37938655/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com