Cómo reconocer la actividad del usuario con el reconocimiento de actividad

Hacer que una aplicación sea sensible al contexto es una de las mejores formas de brindar servicios útiles a sus usuarios. Hay varias formas de hacerlo, incluida la creación de aplicaciones que utilicen geocercas y otros servicios de ubicación. Este artículo se centra en el uso de los servicios de Google Play. Reconocimiento de actividad API para determinar si el usuario está corriendo, caminando, en un vehículo, en bicicleta o parado.

Conocer la actividad del usuario puede ayudarlo a administrar la experiencia de la aplicación, por ejemplo, preguntando si el usuario comienza a hacer ejercicio para que pueda rastrearlo con Google Fit, o evitando que el usuario haga ejercicio. . Los archivos de origen de este tutorial se pueden encontrar en GitHub.

1. Configuración del proyecto

Lo primero que debe hacer es crear una nueva aplicación para Android. Para esta aplicación de muestra, establecí el SDK mínimo en 14 y creó un vacío predeterminado Activity. Una vez que Android Studio haya creado la aplicación base, abra el build.gradle e importar los servicios de reproducción (la versión 8.4 es la más reciente en el momento de escribir este artículo) en la dependencies nodo.

Luego crea una nueva clase, nómbrala ActivityRecognizedServicey haz que se extienda IntentService. Cuando Google Play Services devuelva la actividad del usuario, se enviará a este IntentService. Esto le permitirá ejecutar la lógica de su aplicación en segundo plano a medida que el usuario avanza en su día.

Para completar la configuración, abra AndroidManifest.xml. Debes declarar ActivityRecognizedService e incluye el com.google.android.gms.permission.ACTIVITY_RECOGNITION autorización para su aplicación.

Ahora que la estructura básica de su aplicación está completa, puede pasar al siguiente paso para iniciar sesión en los servicios de Google Play y solicitar datos de actividad.

2. Solicitud de reconocimiento de actividad

Para utilizar los servicios de Google Play, primero debe iniciar sesión en ellos. Empiece por abrir MainActivity.java e implementar el ConnectionCallbacks y OnConnectionFailedListener interfaces. También debe crear una variable miembro de tipo GoogleApiClient para mantener una referencia al cliente API.

Después de implementar las interfaces necesarias para GoogleApiClient, puede inicializar el cliente y conectarse a los servicios de Google Play en onCreate() pidiendo el ActivityRecognition.API e involucrar a sus oyentes en GoogleApiClient ejemplo.

Una vez el GoogleApiClient la instancia se ha conectado, onConnected() es llamado. Cuando esto sucede, debe crear un PendingIntent quien va a IntentService que creó anteriormente y envíelo a la ActivityRecognitionApi. También debe establecer un intervalo para la frecuencia con la que la API debe verificar la actividad del usuario. Para esta aplicación de muestra, usamos un valor de 3000, o tres segundos, aunque en una aplicación real es posible que desee verificar con menos frecuencia para ahorrar energía.

En este punto, su aplicación debe intentar reconocer la actividad del usuario cada tres segundos y enviar esos datos a ActivityRecognizedService.

3. Reconocimiento de las actividades de gestión

en el onHandleIntent() método de ActivityRecognizedService, lo primero que debe hacer es validar que el recibo Intent contiene datos de reconocimiento de actividad. Si es así, puede extraer el ActivityRecognitionResult de Intent para ver qué actividades puede realizar su usuario. Puede recuperar una lista de posibles actividades llamando getProbableActivities() sobre ActivityRecognitionResult objeto.

Para esta aplicación de muestra, simplemente registra cada actividad que se detectó y muestra la confianza en los servicios de Google Play de que el usuario realiza esa actividad llamando getConfidence() sobre un DetectedActivity ejemplo. Si la confianza es 75 o más, es seguro asumir que el usuario está realizando esta actividad. Para ilustrar esto, también muestra una notificación cuando su aplicación detecta que el usuario camina con gran confianza.

Si ejecuta esta aplicación, iníciela y luego conecte su dispositivo a su computadora, debería ver un registro similar al siguiente en su consola de desarrollo.

Si va a dar un paseo, debería recibir una notificación que le pregunte si va a dar un paseo. Si tiene una aplicación de ejercicio, esta sería la oportunidad perfecta para brindarle a su usuario una acción que le permita comenzar a rastrear su ejercicio.

Conclusión

Los servicios de Google Play facilitan la determinación de la actividad actual del usuario. Esto puede ser extremadamente valioso para que sus aplicaciones sean contextuales y útiles para sus usuarios, lo cual es excelente para todos los involucrados. Con solo unas pocas líneas de código, también puede hacer que sus aplicaciones sean más inteligentes.

En relación :  ¿Qué es una interfaz de usuario?
Moyens Staff
El personal de Moyens I/O lo ha motivado, brindándole consejos sobre tecnología, desarrollo personal, estilo de vida y estrategias que lo ayudarán.