gacias por la respuesta amigo, pero me puedes ayudar con el codigo del Activity.Finish o simplemente hago esto?Hola
Create un servicio que lo llames en el Activity_Create, y luego en el Activity_Resume haces un Activity.Finish, esto hara que finalice la aplicacion pero el Servicio estará en marcha.
Saludos
pero me puedes ayudar con el codigo del Activity.Finish o simplemente hago esto?
Sub activity_resume
activity.finish
End Sub
ah y el nombre tiene que ser activity_create?
Amigo temgo el siguiente problema : la aplicación después de un tiempo me dice que ha dejado de funcionar y ce cierra, de hecho lo hace dos veces es decir, el mensaje me aparece dos veces. A qué se puede deber?Hola
Si, dentro del Acivity_Resume pones Activity.finish que lo que hace es cerrar la aplicacion.
Activity_Create es unos de los eventos que ocurre cuando cargas la aplicación o haces otras cosas, y lo verás al principio en el IDE como: Sub Activity_Create(FirstTime As Boolean)
Te explico a modo rápido el ciclo de vida de Android:
ARRANCA LA APLICACIÓN -> Activity_Create (FirstTime = True) -> Resume
GIRAS LA PANTALLA -> Pause (Userclosed=False) -> Activity_Create (FirstTime = False) -> Resume
SALES MATANDO APLICACION CON Activity.Finish -> Pause (Userclosed=True)
SALES PULSANDO BOTÓN HOME (botón hard central) -> Pause (Userclosed=False)
VUELVES DESPUES DE PULSAR BOTÓN HOME -> Resume
LLAMAS A OTRO ACTIVITY DESDE Main -> Main va a Pause (Userclosed=False)
VUELVES DESDE OTRO ACTIVITY -> Main va a Resume
ENTRAS EN LA PANTALLA DE CONFIGURACION (PreferenceActivity library) -> Main va a Pause (Userclosed=False)
SALES DE LA PANTALLA DE CONFIGURACION (PreferenceActivity library) -> Main va a Resume
SALES PULSANDO EL BOTÓN DE APAGAR EL DISPOSITIVO -> Main va a Pause (Userclosed=False)
VUELVES DESPUES DE PULSAR BOTÓN DE APAGAR EL DISPOSITIVO -> Main va a Resume
Creo que tendrias que leerte el ciclo de vida de Android, y asi entenderias mejor como has de hacerlo, puedes verlo aqui:
http://www.b4x.com/android/fo...ess-and-activities-life-cycle.6487/#post37980
Y tambien la guia para principiantes, puedes bajartela aqui: http://www.b4x.com/android/files/guide.zip
A nadie nos gusta leer, pero si no entiendes lo basico de B4A , te costará mucho hacer una aplicación. Aqui en el foro nos ayudamos todos, pero tienes que leer lo basico de B4A para entender como funciona. Si vienes de Visual Basic te será mas facil entenderlo todo. No te tomes a mal mi comentario, solo intento ayudarte con tus preguntas, yo como la mayoria del foro trabajamos, y ayudamos cuando podemos, e intento despejar las dudas a los demas, que con mi corta experiencia con B4A he aprendido.
Saludos
Hola
Con tan pocos datos es dificil saber cual es el problema.
Lo mas seguro es que hayas puesto que se ponga en marcha en el reinicio del servicio con un #StartAtBoot: true , y tu la mates al iniciar y de ahi el mensaje del sistema y el otro podria ser el tuyo.
Pon logs en la parte del servicio, haz correr la aplicacion paso a paso con Debug(rapid) y asi quizas puedas ver por que se para, ese mensaje que se ha parado suele ser el tipico por lo que te he comentado, que tu le digas que arranque al reinicio y de alguna forma la estes parando, entonces el sistema te da ese mensaje.
Si aun asi no consigues saber donde esta el error, adjunta un ejemplo de lo que haces y asi podremos mirarlo y saber donde está.
amigo aun no encuentro solucion te adjunto los archivos el b4a y el del servicio
Saludos
te paso la direccion de descarga amigoHola, podrias comprimir el programa con todos los ficheros y carpetas (files, Objects, etc) por que con lo que has enviado no para de dar errores al intentar compilar.
Saludos
Hola
Ya he visto donde estaba el error, pero no creas que me he repasado todo el codigo para verlo, el codigo es demasiado extenso como para eso, y no tengo poderes para ver donde se paraba (aunque me llame Jesús). Simplemente he puesto a correr el programa en un movil conectado al log del B4A, y cuando ha fallado he visto donde era, aqui te pongo el codigo de error:
java.lang.IllegalArgumentException: 1 is not a valid Bluetooth address
at android.bluetooth.BluetoothDevice.<init>(BluetoothDevice.java:723)
at android.bluetooth.BluetoothAdapter.getRemoteDevice(BluetoothAdapter.java:466)
at anywheresoftware.b4a.objects.Serial.Connect2(Serial.java:146)
at anywheresoftware.b4a.objects.Serial.Connect(Serial.java:117)
at com.luc_1_3.noduerme._tiempo_conexion_tick(noduerme.java:467)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:174)
at anywheresoftware.b4a.objects.Timer$TickTack.run(Timer.java:105)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5356)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
at dalvik.system.NativeStart.main(Native Method)
java.lang.RuntimeException: java.lang.IllegalArgumentException: 1 is not a valid Bluetooth address
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:200)
at anywheresoftware.b4a.objects.Timer$TickTack.run(Timer.java:105)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5356)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalArgumentException: 1 is not a valid Bluetooth address
at android.bluetooth.BluetoothDevice.<init>(BluetoothDevice.java:723)
at android.bluetooth.BluetoothAdapter.getRemoteDevice(BluetoothAdapter.java:466)
at anywheresoftware.b4a.objects.Serial.Connect2(Serial.java:146)
at anywheresoftware.b4a.objects.Serial.Connect(Serial.java:117)
at com.luc_1_3.noduerme._tiempo_conexion_tick(noduerme.java:467)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:174)
... 10 more
** Service (noduerme) Create **
java.lang.RuntimeException: Object should first be initialized.
at anywheresoftware.b4a.sql.SQL.checkNull(SQL.java:48)
at anywheresoftware.b4a.sql.SQL.ExecQuery(SQL.java:154)
at com.luc_1_3.noduerme._service_create(noduerme.java:392)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:174)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:158)
at com.luc_1_3.noduerme.onCreate(noduerme.java:45)
at android.app.ActivityThread.handleCreateService(ActivityThread.java:2713)
at android.app.ActivityThread.access$1900(ActivityThread.java:161)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1347)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5356)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
at dalvik.system.NativeStart.main(Native Method)
java.lang.RuntimeException: Unable to create service com.luc_1_3.noduerme: java.lang.RuntimeException: java.lang.RuntimeException: Object should first be initialized.
at android.app.ActivityThread.handleCreateService(ActivityThread.java:2723)
at android.app.ActivityThread.access$1900(ActivityThread.java:161)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1347)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5356)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: Object should first be initialized.
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:200)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:158)
at com.luc_1_3.noduerme.onCreate(noduerme.java:45)
at android.app.ActivityThread.handleCreateService(ActivityThread.java:2713)
... 10 more
Caused by: java.lang.RuntimeException: Object should first be initialized.
at anywheresoftware.b4a.sql.SQL.checkNull(SQL.java:48)
at anywheresoftware.b4a.sql.SQL.ExecQuery(SQL.java:154)
at com.luc_1_3.noduerme._service_create(noduerme.java:392)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:174)
... 13 more
Como ves en las lineas que te he marcado en verde es donde se produce el error. Le puse un LOG y la dirección MAC era igual a 1 una de las veces que dio error. Creo que todo el problema viene por ahi, tendrias que corregir de raiz el que de el error mas que taparlo con un Try Catch, aunque tampoco estaria mal ponerlo donde creas que pueda darse un error.
Bueno, al menos ya sabes por que se paraba
Saludos
Si, pero al igual que yo que ni tenia el bluetooth en marchaamigo gracias por tu ayuda, te comento que el error de bluetooth y de mac son por que no esta conectado al aparato con el que se comunica
Según ese error parece ser el SQL:como puedo saber cual es el objeto que no se a inicializado?
Caused by: java.lang.RuntimeException: Object should first be initialized.
at anywheresoftware.b4a.sql.SQL.checkNull(SQL.java:48)
at anywheresoftware.b4a.sql.SQL.ExecQuery(SQL.java:154)
#Region Service Attributes
#StartCommandReturnValue: android.app.Service.START_STICKY
Sub Service_Start (StartingIntent As Intent)
StartServiceAt("", DateTime.Now + 5 * DateTime.TicksPerSecond, True)
End Sub
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?