Spanish Hola, se puede detectar que se ha abierto la aplicación de Herramientas o ajustes de android?

Discussion in 'Spanish Forum' started by deneus, Apr 16, 2015.

  1. deneus

    deneus Member Licensed User

    Hola, se puede detectar que se ha abierto la aplicación de Herramientas o ajustes de android?
    Un saludo.
     
  2. bgsoft

    bgsoft Well-Known Member Licensed User

    Hola

    Si, mirando los procesos activos.

    Saludos
     
  3. deneus

    deneus Member Licensed User

    Hay algún ejemplo de esto o algo parecido?
    Gracias
     
  4. bgsoft

    bgsoft Well-Known Member Licensed User

    Hola

    Te pongo un codigo rápido para verlo en un listview que ademas cada linea la cambia de color para que veas bien cada proceso

    Code:
    Sub Globals

        
    Dim ListView1 As ListView 
       
        
    Dim lstname,lstpid, lstnamepid, lstret As List
        
    Dim OS As OperatingSystem

    End Sub


    Sub Activity_Create(FirstTime As Boolean)

     
      ListView1.Initialize(
    "")
     
      
    Activity.AddView(ListView1,0,0,100%x,100%y)
           
      
      ActualizarProcesos

    end sub
       

    Sub ActualizarProcesos
       
        
    Dim Texto As String
        
    Dim cambiar As Boolean
        OS.Initialize(
    "OS")
       
     
      lstname.Initialize
      lstpid.Initialize
      lstnamepid.Initialize
      lstret=OS.RunningAppProcessInfo(lstname,lstpid,lstnamepid)
      ListView1.Clear
      ListView1.FastScrollEnabled = 
    False
        ListView1.Color = 
    Colors.Blue
        ListView1.SingleLineLayout.Label.TextSize = 
    17
      ListView1.SingleLineLayout.Label.Gravity = 
    Gravity.Left
           
      
    'lstname.Sort(True) ' por si lo quieres ordenado
        cambiar = False
      
    For i = 0 To lstname.Size - 1
          Texto = lstname.Get(i)
            ListView1.AddSingleLine(Texto)
           
            
    If cambiar Then
              ListView1.SingleLineLayout.Label.TextColor = 
    Colors.White
            
    Else
              ListView1.SingleLineLayout.Label.TextColor = 
    Colors.Cyan
            
    End If
            cambiar = 
    Not(cambiar)
            
    DoEvents
      
    Next

      
    Activity.Title= "Procesos en marcha: " & lstname.Size
      ListView1.SetSelection (
    0)
       
       
       
    End Sub
    Saludos
     
  5. deneus

    deneus Member Licensed User

    Gracias, solo una cosa mas, en este ejemplo hay que hacer un bucle, pero no se si se puede hacer algún evento de sistema para que alerte de un cambio en el sistema y comprobar si se ha abierto herramientas?
     
  6. bgsoft

    bgsoft Well-Known Member Licensed User

    Hola

    Muy facil, crea un temporizador (o un servico) que cada x tiempo mire si está el proceso activo que te interesa, y cuando esté ve a hacer lo que quieras, ni tienes que crear un listview ni nada, solo comparar el lstname.Get(i) con el proceso que buscas y cuando esté ir a ese sub, al fin y al cabo un Evento no deja de ser un Sub generado por algo, en este caso lo generas tu, o directamente desde el timer haces lo que tengas que hacer.

    Saludos
     
Loading...
  1. 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.
    Dismiss Notice