Spanish Entorno empresarial y funciones especificas.

javieroth

New Member
Licensed User
Longtime User
Buenas:

Estoy desarrollando una aplicación para móviles en entorno empresarial y me encuentro con algunas cosas que no puedo (o no se) hacer.

Por ejemplo, establecer la hora por programación, o no permitir que se desactive el gps, y cosas así, alguien sabe si hay alguna manera de acceder a ese tipo de funciones de bajo nivel con el basic4ppc ?

Muchas gracias de antemano. ;-)
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola:

Como decia Jack el destripador: "Vayamos por partes" :D

- Establecer la hora es facil, hay comandos para eso (DateTime) , puedes ver ejemplos en los tutoriales que hay sobre B4A en este link :
http://www.b4x.com/android/documentation.html
Que ademas veras ejemplos.

- El GPS, por "politica de seguridad" de Google no puedes conectarlo por codigo, lo unico que puedes hacer es comprobar que esté en marcha, y si no lo está, puedes avisar al usuario y llamar a la función de la pantalla de conexion del GPS .
Aqui tienes un tutorial sobre GPS:
http://www.b4x.com/android/forum/threads/gps-tutorial.6592/#content

alguien sabe si hay alguna manera de acceder a ese tipo de funciones de bajo nivel con el basic4ppc ?
- Como ya te he comentado arriba, hay funciones basicas de B4A que te permiten todo eso, a menos que sepas programar en java y te crees tus propias librerias.

Si te surgen problemas concretos puedes hacer una pregunta a este foro o al general (en inglés) y siempre encontraras a alguien que te ayude. Pero te recomiendo que no plantees preguntas generales que necesiten de diferentes soluciones, por que será dificil que encuentres ayuda. Haz tu preguntas de temas concretos, como por ejemplo "como puedo saber si el GPS está en marcha", y si tienes otra que es como cambio la hora , creas otra pregunta. De esa forma siempre será mas facil que alguien te responda a esa pregunta concreta que a varias a la vez. Ademas, de esa forma nos beneficiamos todos por que siempre se aprende algo siguiendo el hilo de un post.

Saludos:

Jesús
 

javieroth

New Member
Licensed User
Longtime User
Hola bgsoft:

Muchas gracias por contestar, pero creo que lo de establecer la hora no se puede con el dateutils. Yo ya estuve buscando como un loco cualquier función que se encargara de ello y no lo conseguí.

Sobre lo del GPS, ya tengo hecho un modulo funcional con GPS, detecto cuando lo intentan apagar y toda la pesca, pero lo único que no he conseguido es encenderlo desde programación.
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola:

Android no permite que las aplicaciones que no son del sistema puedan cambiar la fecha o la hora.
Puedes hacer una llamada a la pantalla de configuración y que el usuario la establezca.

B4X:
    Dim DTS As Intent
    DTS.Initialize(DTS.ACTION_MAIN,"")
    DTS.SetComponent("com.android.settings/com.android.settings.DateTimeSettingsSetupWizard")
    StartActivity(DTS)

Con respecto al GPS ya te lo comenté, por politica de seguridad de Google, desde una versión de Android dejó de ser posible poner en marcha o parar el GPS desde código, con JellyBean no es posible hacerlo.
Puedes mirar cuando está desconectado y hacer una llamada a la pantalla de configuracion, y si no lo pone en marcha salir de la aplicacion dandole un mensaje de advertencia, o entrar en un bucle continuo hasta que lo ponga en marcha. A la pantalla de configuración la puedes llamar asi:

B4X:
Dim GPS1 As GPS

StartActivity(GPS1.LocationSettingsIntent)


Yo he probado en algunas versiones de Android y me funciona con este código de abajo:

B4X:
Dim GPS1 As GPS 'utiliza la Libreria GPS
GPS1.Initialize ("GPS")
GPS1.Start(0, 0)

He añadido estas lineas al Manifest Editor

AddPermission(android.permission.CHANGE_NETWORK_STATE)
AddPermission(android.permission.ACCESS_NETWORK_STATE)


Puedes probarlo, igual en la versión que tengas te funciona.

Suerte.

Saludos:

Jesús
 
Top