我使用新的设置API打开GPS而不离开我的应用程序。 我的LocationRequest看起来像这样:
LocationRequest mLocationRequest = new LocationRequest(); mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
一切正常但是对话框提示我也启用蓝牙(连同GPS)有没有办法只启用GPS?
答案 0 :(得分:1)
我怀疑您在LocationSettingsRequest中错误地请求BLE支持。
LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder() .addLocationRequest(mLocationRequestHighAccuracy) .addLocationRequest(mLocationRequestBalancedPowerAccuracy);
builder.setNeedBle(真);
如果客户端使用BLE扫描来派生位置,它可以通过调用setNeedBle(boolean)请求启用BLE:
如果你不想要BLE,那么将其设置为false 或删除此行。
答案 1 :(得分:0)
我在这里发现了同样的问题。我必须首先在意图中打开蓝牙,然后从回调请求位置来找到它。
private boolean isBluetoothEnabled() {
if (mBluetoothAdapter != null && !mBluetoothAdapter.isEnabled()) {
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
int REQUEST_ENABLE_BT = 1;
startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
return false;
}
return true;
}