Y hago estas puntualizaciones:
- Lo primero es que escogiste bien los ejemplos-soluciones. Pues probé con un Timer y no funcionó.
- Este ejemplo funciona bien en mi Samsung Galaxy A50 con Android 11, pero falla en mi Galaxy Grand Prime+ con Android 6.0.1
- Hace fotos cada x segundos que se le especifique. Desde 0 a 600 con los dos controles añadidos a la cámara.
- Hace las fotos en Foreground (primer plano) y sigue haciéndolas aunque esté la B4XPage en Background. Son fotos sin zoom pero con efectos, si se quiere. Pues el ejemplo original parece que no hace fotos con zoom.
- En B4XMainPage:
La línea
#CustomBuildAction: folders ready, %WINDIR%\System32\Robocopy.exe,"..\..\Shared Files" "..\Files"
te obliga a crear una carpeta llamada Shared Files al lado de la del proyecto.
- cam.Stop del evento B4XPage_Background es controlado con el booleano ScheduledMode para hacer fotos programadas o bien manuales. No se apaga la cámara cuando son programadas.
- El servicio PhotoTacker comunica a B4XMainPage el valor True para el B4XSwitch (servicio funcionando) y el valor en segundos para el RoundSlider. Para cuando se cierra del todo la app por error y se vuelve a abrir, para poder detener el servicio.
- Deshabilitado el B4XSwitch y el RoundSlider pasa a cero en el evento btnMode_Click, cuando se utiliza el modo vídeo. Y los vuelve a habilitar en modo foto.
- Las notificaciones del ejemplo no las muestra debido a su baja prioridad en mi Android 11 (notification.IMPORTANCE_LOW), pero si un aviso sonoro en mi Android 6.0.1.
- Puesto opcionalmente el objeto PhoneWakeState en Main para que nunca se apague la pantalla con esta app
- Para ver las fotos tomadas hay que utilizar el ordenador, un cable USB al Móvil y permitir la depuración USB.
Ruta:
Este equipo\Nombre del dispositivo\Phone\Android\data\b4a.scheduledphotos\files
- Hay que enchufar el cable USB cada vez que se quieran ver los cambios en esa carpeta, pues ahí no funciona el Actualizar (F5) de Windows. No sé por qué.
Saludos.