Spanish (SOLUCIONADO)Hacer aplicacion Launcher

TheFalcon

Active Member
Licensed User
Buenas, después de intentar hacer una aplicación que arranque como si fuera modo kiosko y no conseguirlo( no puedo hacer root a todos los dispositivos en las que la instale) , probé lo de que arrancara con el servicio STAR, y me funciona pero tarda unos 20 35 segundos en iniciar , y en ese tiempo el usuario le da tiempo a mucho. He barajado la posibilidad de hacer que mi aplicación pueda sustituir la que viene por defecto en los dispositivos, como launcher, y así arrancaría siempre, lo que no se si es viable ni como hacerlo.

El problema es que para nuestros clientes que tocan todo, quiero bloquear las barras de tareas de wifi etc, y ciertos botones , y necesito que se haga lo mas rápido posible al encender el dispositivo.

Un saludo
 

TheFalcon

Active Member
Licensed User
Gracias Jose, mirare ese enlace a ver que tal, aunque encontré un post en el que erel hablaba del launcher y me a valido, ya que lo que yo buscaba era que al iniciar el dispositivo android cargara mi apk y no dejara hacer nada al usuario, ni boton home , back , ni la barra de opciones el wifi etc. Así que doy el tema por cerrado , mañana pego el codigo por si alguien lo necesita que no lo tengo aquí ahora mismo, y ya mañana pongo solucionado.

Un saludo
 

TheFalcon

Active Member
Licensed User
Perdón por la tardanza, el maldito trabajo, aquí os pongo como lo hice, y cierro el post

MUY IMPORTANTE, antes de probar , poned un botón para ir a settings o algo, lo digo por experiencia, que yo no lo hice y tuve que arrancar el móvil en modo Seguro para poder desinstalar la apk :p ( si no hubiera tenido que resetear de fabrica) , o cuando os diga de sustituir el launcher no digáis SIEMPRE

En Activity Create
B4X:
    If FirstTime Then
    startApp("com.aplicacionlauncher")

    End If

    Activity.LoadLayout("1")
'    If FirstTime Then
    BarraDeEstadomView.Initialize("")
    BarraDeEstadomView.Text =""
    QuitarBarraEstatus

B4X:
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
   
End Sub
B4X:
'con esto cargo el launcher
Sub startApp(pkgName As String) As Boolean
    Try
        Dim Intent1 As Intent
        Dim pm As PackageManager
        Intent1 = pm.GetApplicationIntent (pkgName)
        StartActivity (Intent1)
        Return True
    Catch
        Return False
    End Try
    End Sub
B4X:
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

yo añado un mensaje al boton de volver
[CODE]
Sub Activity_KeyPress (KeyCode As Int) As Boolean
   

    If KeyCode = KeyCodes.KEYCODE_BACK Then
   
        ' Pulsado botón Back
        ToastMessageShow("Botón Deshabilitado",False)
        Return True   ' Consume el evento y no sale
           
    End If


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
en el manifest editor
B4X:
AddPermission(android.permission.SYSTEM_OVERLAY_WINDOW)
AddPermission(android.permission.SYSTEM_ALERT_WINDOW)
AddActivityText(main, <intent-filter >
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.HOME" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>)
 

TheFalcon

Active Member
Licensed User
Buenas, tengo el proyecto en el Portatil de empresa, el lunes lo cojo, lo comprimo y lo subo para el que lo necesite y lo modifique como le venga en gana
 

busmatic

Member
Licensed User
Muchas Gracias , si me ha venido al dedo, pero tuve que resetear el aparato, porque está cosa no tiene botones para arrancarlo en modo seguro. Pero bueno al final esta espectacular y trabaja muy bien. Se te agradece tu esfuerzo y hay alguna manera a de alguna donación por favor déjame saber.

Muy agradecido desde ya.
 

TheFalcon

Active Member
Licensed User
Me alegra que te sirva, por eso decía que cuidado al usarlo que te capa el móvil, yo desde el panel de administración le tengo puesto mediante clave que pueda deshabilitar la barra y acceder a los ajustes por si e de desistalar el launcher.

Donación ninguna, aquí siempre me han ayudado en el foro y yo tengo poco tiempo para ayudar, así que si puedo ayudar, para mi encantado
 

busmatic

Member
Licensed User
Gracias estimado. Muy bien dime
Como la desístalo desde ajustes, pues aunque logre acceder ajustes el bendito no dejo desinstalar . Algún manera en especial con el Android versión 7.

Agradezco tus comentarios
 

TheFalcon

Active Member
Licensed User
Desde ajustes en aplicaciones la puedes desistalar, si no te deja, depende de cada dispositivo, tiene una opción de launcher, para cambiar el launcher que viene por defecto en el móvil, volviendo a poner el de por Defecto.

si no das con al tecla te miro luego en 1 dispositivo donde estaba el launcher y te mando la captura
 

busmatic

Member
Licensed User
Bien eso es después de haberlo instalado como launcher definitivamente. Fue que aunque entré al opciones del aparato no deja definitivamente por el sistema operativo. Alguna opción desde tu launcher que permita la desinstalacion más fácil asumiendo que el
SO no le permita ?

Gracias
 

TheFalcon

Active Member
Licensed User
Esta noche te hago un vídeo de como lo desistalo en uno de mis dispositivos, yo hasta el momento con todos los que probé no tuve problemas, a ver si fastidie el código al modificarlo para pasártelo, que lo tenia con código echo para mi empresa y logos.

Instalare el mismo que te mande.

Perdón la tardanza en contestar , pero con el curro no toco a penas Mi pc
 
Top