gpt4 book ai didi

android - Google Play Services如何弹出Enable Bluetooth提示?

转载 作者:太空宇宙 更新时间:2023-11-03 10:41:35 24 4
gpt4 key购买 nike

我正在开发的应用程序同时使用位置和 BLE,如果位置或蓝牙被禁用,我必须要求用户启用它们。

最新的 Google Play 服务提供了一种使用 LocationSettingsRequest 来执行此操作的标准方法,它会检查要求并在需要更改设置时引发标准弹出窗口。它就像单独定位的魅力一样,但是一旦我将 SetNeedBle (true) 添加到 LocationSettingsRequest,我就会得到一个状态 SETTINGS_CHANGE_UNAVAILABLE

我唯一的猜测是我需要将 AddApi (FitnessClass.BLE_API) 调用添加到 GoogleApiClientBuilder 因为它可能对 BLE 功能至关重要,但后来我得到了连接到 Google Play 服务失败并显示 SIGN_IN_REQUIRED 状态,这令人困惑,因为我只需要 Fitness 服务的 BLE 部分。

有谁知道使用 LocationSettingsRequest 来提示用户位置和蓝牙的好例子吗?

Location popup

最佳答案

你们很亲近。在LocationSettingsRequest.Builder中有setNeedBle(boolean needBle)会弹出一个对话框要求BLE。不要将 Fitness API 用于 BLE 定位。

同时通过添加到 list 中确保手机启用了 BLE:

<manifest>
<uses-feature
android:name="android.hardware.bluetooth_le"
android:required="false" />
</manifest>

然后在你的代码中:

if(context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE)) {
//has BLE
}

并且您可以从 Google Play 服务使用 SettingApi向系统询问可用功能。该指南包含如何使用它的完整示例。

https://developers.google.com/android/reference/com/google/android/gms/location/LocationSettingsRequest.Builder.html#setNeedBle(boolean)

关于android - Google Play Services如何弹出Enable Bluetooth提示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32491135/

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