¿Cómo abrir el mensaje Activar Bluetooth desde Google Play Services?
La aplicación en la que estoy trabajando utiliza ubicaciones y BLE y si la ubicación o el bluetooth están desactivados, tengo que pedir al usuario que los habilite.
Los últimos servicios de Google Play proporcionan una forma estándar de hacerlo mediante LocationSettingsRequest
que comprueba los requisitos y aumenta el popup estándar si se requieren cambios en la configuración. Funciona como un encanto para la localización solamente pero una vez que agrego SetNeedBle (true)
a LocationSettingsRequest
consigo un estado SETTINGS_CHANGE_UNAVAILABLE
.
- Necesita usar un tema Theme.AppCompat (o descendiente) con esta actividad después de agregar google-play-services
- ¿Funcionará GCM Network Manager en dispositivos que no sean de Play?
- Error al agregar geofences en Android (código de estado 1000)
- Las siguientes clases no se pudieron instanciar: - com.google.android.gms.plus.PlusOneButton
- Gradle no puede agregar a la compilación 'com.google.android.gms: play-services: 7.0.0'
Lo único que supongo es que necesito agregar AddApi (FitnessClass.BLE_API)
llamada a AddApi (FitnessClass.BLE_API)
a un GoogleApiClientBuilder
ya que podría ser vital para la funcionalidad BLE, pero luego tuve conexión a Google Play Services falló con el estado SIGN_IN_REQUIRED
que es confuso ya que sólo necesito la parte BLE Del servicio de Fitness.
¿Alguien sabe buen ejemplo de LocationSettingsRequest
uso para solicitar al usuario para las dos ubicaciones y bluetooth?
- Eliminar el permiso WAKE_LOCK no deseado fusionado de la biblioteca
- Servicio GeoCoder no disponible
- Falta la clave api_key / actual con Google Services 3.0.0
- Android Wear sin servicios de Google Play?
- Compras en la aplicación con varias cuentas
- Android Google Play Service Visión Explorador de códigos de barras Biblioteca no encontrada
- Varios Proguard nuevas publican los servicios de Google Play v10.2.6 a v11.0.0 en un proyecto Multidex
- Plus.PeopleApi.getCurrentPerson obsoleta en los servicios de Play 8.4. ¿Cómo obtener el nombre, apellido y sexo del usuario usando GoogleSignInApi?
Estás muy cerca. En el LocationSettingsRequest.Builder
hay setNeedBle(boolean needBle)
que aparecerá un cuadro de diálogo para pedir BLE. No utilice la API de Fitness para la ubicación de BLE.
Asegúrese también de que el teléfono esté activado BLE añadiendo al manifiesto:
<manifest> <uses-feature android:name="android.hardware.bluetooth_le" android:required="false" /> </manifest>
Luego en tu código:
if(context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE)) { //has BLE }
Y desde Google Play Service puedes usar el SettingApi que pregunta al sistema sobre las funciones disponibles. La guía contiene un ejemplo completo de cómo usarlo.
Parece que se ha corregido en 8.1.0 por lo que SetNeedBle (true)
funciona como se esperaba:
- Unity UI Masking no funciona en Galaxy Note y Kindle Fire
- No se puede resolver isConnected () – Inicio de sesión de Google+ en android studio