Hola amigos, necesitaria ayuda se puede iniciar una APP con 3 o 4 o 5 pulsaciones del boton power? tal vez haciendo que la app quede en segundo plano? no se.. consulto a los que saben.
Te avanzo (por lo que se) que ese boton no puedes detectarlo, es un poco raro por que existe en el KeyCode ( KeyCodes.KEYCODE_POWER ) pero si lo intentas en el Sub Activity_KeyPress , no entra al pulsar este botón se va a Pause.
Crea un servicio, y lo pones en marcha cuando quieras detectar las pulsaciones en el boton power.
Y pon este código:
B4X:
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim Broadcast As BroadCastReceiver
Dim ContadorOff= 0 As Int
Dim ContadorOn= 0 As Int
End Sub
Sub Service_Create
Broadcast.Initialize("BroadcastReceiver")
End Sub
Sub Service_Start (StartingIntent As Intent)
Broadcast.addAction("android.intent.action.SCREEN_OFF")
Broadcast.SetPriority(2147483647)
Broadcast.registerReceiver( "")
Broadcast.addAction("android.intent.action.SCREEN_ON")
Broadcast.SetPriority(2147483647)
Broadcast.registerReceiver( "")
End Sub
Sub BroadcastReceiver_OnReceive (Action As String, i As Object)
Dim i2 As Intent = i
Dim accion = i2.Action As String
If accion.Contains("SCREEN_OFF") Then
Log("Pulsado Boton power en off")
ContadorOff = ContadorOff +1
End If
If accion.Contains("SCREEN_ON") Then
Log("Pulsado Boton power en on")
ContadorOn = ContadorOn +1
End If
End Sub
Recuerda que cuando apagas el dispositivo el Activity se va a Pause
Hola, encontré una forma mas facil que empleaba en otra aplicación
B4X:
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Private pe As PhoneEvents
Dim ContadorOff= 0 As Int
Dim ContadorOn= 0 As Int
End Sub
Sub Service_Create
pe.Initialize("pe")
End Sub
Sub pe_ScreenOff (Intent As Intent)
ContadorOff = ContadorOff +1
Log("Pulsado botón Power OFF")
End Sub
Sub pe_ScreenOn (Intent As Intent)
ContadorOn = ContadorOn +1
Log("Pulsado botón Power ON")
End Sub
Jesus no entendi o no me sale, perdon, arme el servicio, pero no entiendo como hacer que el servicio lanze la aplicacion, tal vez soy muy nuevo e ignorante. :'(
Anda perfecto, modifique algunas cosas, ahora una consulta BGsoft como hago para poner el contador a 0, o que el servicio se reinicie y no siga contando despues de 2 minutos de apagago el celular.
Anda perfecto, modifique algunas cosas, ahora una consulta BGsoft como hago para poner el contador a 0, o que el servicio se reinicie y no siga contando despues de 2 minutos de apagago el celular.
Anda perfecto, modifique algunas cosas, ahora una consulta BGsoft como hago para poner el contador a 0, o que el servicio se reinicie y no siga contando despues de 2 minutos de apagago el celular.
Las variables se ponen a cero asignando un 0 (cero)
Ahora mas en serio, para poner a cero esa variable seria asi:
B4X:
' si es desde el mismo módulo
ContadorOn = 0
ContadorOff= 0
' Si lo haces desde otro módulo
NombreDelModulooServicio.ContadorOn = 0
NombreDelModulooServicio.ContadorOff = 0
Tema servicios, tendrias que pararlo y luego volverlo a llamar:
B4X:
StartService(NombreDelServicio) ‘ Llamar al Servicio
StopService(NombreDelServicio) ‘ matar el Servicio
CancelScheduledService(NombreDelServicio) ' Para si has realizado un StartServiceAt
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.