Spanish [SOLUCIONADO]desabilitar statusbar

TheFalcon

Active Member
Licensed User
Longtime User
Hago un Hilo nuevo para como des habilitar el StatusBar, JESÚS Manifiestate :p

PD: Estoy mirándome el modo kiosko también que creo que es similar
 

bgsoft

Well-Known Member
Licensed User
Longtime User
JESÚS Manifiestate :p
Me manifiesto :cool:

Antes de nada, el modo kiosco lo puedes emplear para que si te tocan el boton home o intentan salir de la App vuelvas a ella, con el modo kiosco no consigues que no se vea la barra de status.


En manifest hay que poner (MUY IMPORTANTE):
AddPermission(android.permission.SYSTEM_OVERLAY_WINDOW)
AddPermission(android.permission.SYSTEM_ALERT_WINDOW)


B4X:
Sub Globals
Dim BarraDeEstadomView As Label


Sub Activity_Create(FirstTime As Boolean)
     If FirstTime Then
       BarraDeEstadomView.Initialize("")
        BarraDeEstadomView.Text =""
        QuitarBarraEstatus
   End If



Sub Activity_Pause (UserClosed As Boolean)
   ' para que vuelva a aparecer al salir (por ejemplo)
   ' la puedes llamar desde donde quieras
   If UserClosed Then PonerBarraEstatus
 
 
Sub QuitarBarraEstatus
    Dim mlp As JavaObject
    Dim vtype As Int = -1, pixelFormat As Int = -3
 
    Try
      mlp.InitializeNewInstance("android.view.WindowManager$LayoutParams", Array(vtype, 100, 2010,296, pixelFormat))
    Catch
    End Try
 
    Try
      mlp.SetField("gravity", Bit.Or(Gravity.TOP, Gravity.CENTER))
    Catch
    End Try
 
    Try
      Dim windowManager As JavaObject = BarraEstatusGetContext.RunMethod("getSystemService", Array("window"))
    Catch
    End Try
 
    Try
      windowManager.RunMethod("addView", Array(BarraDeEstadomView, mlp))
    Catch
    End Try
 
End Sub

Sub PonerBarraEstatus

    If BarraDeEstadomView.IsInitialized = False Then
        ' Quizas esto no sea necesario, pero puedes llamar a quitar y no reiniciar
        BarraDeEstadomView.Initialize("")
        BarraDeEstadomView.Text =""
    End If

    Try
      Dim windowManager As JavaObject = BarraEstatusGetContext.RunMethod("getSystemService", Array("window"))
      windowManager.RunMethod("removeView", Array(BarraDeEstadomView))
  Catch
    End Try
            
    
    
End Sub

Sub BarraEstatusGetContext As JavaObject
    Return BarraEstatusGetBA.GetField("context")
End Sub

Sub BarraEstatusGetBA As JavaObject
    Dim jo As JavaObject
    Dim cls As String = Me
    cls = cls.SubString("class ".Length)
    jo.InitializeStatic(cls)
    Return jo.GetFieldJO("processBA")
End Sub

Feliz fin de semana a tod@s

Saludos
 

TheFalcon

Active Member
Licensed User
Longtime User
Funciona a la perfección muchísimas gracias no sabes lo que me hacia falta esto :p. Eres un crack.
cuando bajes a málaga tienes 2 cervezas invitado :p
 

bgsoft

Well-Known Member
Licensed User
Longtime User
cuando bajes a málaga tienes 2 cervezas invitado :p

Cuidado que no será la primera vez que paso por tu tierra, que llegando a Málaga en una venta me pegué hace años un desayuno "ligerito" con queso, jamonsito, chorizo en manteca, aceitunas.... y un pan de arriero (o algo asi) buenisimo...

Me alegro que te solucionara el problema, para eso estamos, para ayudar y hacer mejor el foro.

Saludos
 
Top