Autore Topic: interrupt  (Letto 897 volte)

Offline gabric

  • Utente senior
  • ****
  • Post: 613
  • Respect: +18
    • Google+
    • Mostra profilo
    • Brancato's site
  • Dispositivo Android:
    Nexus 5 / Tablet mediacom s4
  • Play Store ID:
    Brancato's+app
  • Sistema operativo:
    window7. ubuntu
interrupt
« il: 05 Settembre 2012, 11:12:03 CEST »
0
Salve, mi chiedevo se c'è un modo per gestire gli interrupt a livello delle applicazioni... forse si potrebbe fare con un listener... praticamente devo creare un applicazione, che anche se in background resta in attesa di questo input, e quando arriva, deve interrompere tutto quello che c'è in esecuzione nel sistema, per svolgere il suo task. So che sono abbastanza generico, ma non so proprio da dove iniziare...

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:interrupt
« Risposta #1 il: 05 Settembre 2012, 13:54:29 CEST »
0
Quello che descrivi si chiama Intent in android.

Però dire di interrompere qualsiasi cosa c'è in esecuzione nel sistema, è un affermazione pesante per un'applicazione che gira a livello utente. Diciamo che il sistema operativo permette all'app di rispondere all'Intent prima possibile.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline gabric

  • Utente senior
  • ****
  • Post: 613
  • Respect: +18
    • Google+
    • Mostra profilo
    • Brancato's site
  • Dispositivo Android:
    Nexus 5 / Tablet mediacom s4
  • Play Store ID:
    Brancato's+app
  • Sistema operativo:
    window7. ubuntu
Re:interrupt
« Risposta #2 il: 05 Settembre 2012, 14:05:33 CEST »
0
quindi dovrei lavorare per forza a livello kernel..
e se il dispositivo ha i permessi di root, non posso interrompere tutti i processi?

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:interrupt
« Risposta #3 il: 05 Settembre 2012, 14:28:21 CEST »
0
non posso interrompere tutti i processi?

Il Linux usato da Android non è configurato per i runlevel presenti nei sistemi desktop, quindi non puoi.

Se hai un Linux installato in qualche PC da root, prova a dare il seguente comando (attenti è un comando molto potente quindi fate molta attenzione se il PC è utilizzato da altre persone):

Codice: [Seleziona]
#> telinit 1
in linguaggio tecnico si chiama "single-user mode".

Comunque per definizione stessa di sistema operativo non può essere interrotto da un processo in user space, è ABC dei sistemi operativi.
adb logcat | tee /tmp/logcat | grep TAG

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:interrupt
« Risposta #4 il: 05 Settembre 2012, 14:29:52 CEST »
0
quindi dovrei lavorare per forza a livello kernel..
e se il dispositivo ha i permessi di root, non posso interrompere tutti i processi?

Ma di che "input" stiamo parlando?
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline gabric

  • Utente senior
  • ****
  • Post: 613
  • Respect: +18
    • Google+
    • Mostra profilo
    • Brancato's site
  • Dispositivo Android:
    Nexus 5 / Tablet mediacom s4
  • Play Store ID:
    Brancato's+app
  • Sistema operativo:
    window7. ubuntu
Re:interrupt
« Risposta #5 il: 06 Settembre 2012, 16:49:03 CEST »
0
scusate il ritardo.. l'imput è ancora da definire..
invece scavalcando il problema, è possibile metter un listener all'avvio di un nuovo processo? anche se semplicemente all'avvio di un nuovo processo si apre un toast

Offline gabric

  • Utente senior
  • ****
  • Post: 613
  • Respect: +18
    • Google+
    • Mostra profilo
    • Brancato's site
  • Dispositivo Android:
    Nexus 5 / Tablet mediacom s4
  • Play Store ID:
    Brancato's+app
  • Sistema operativo:
    window7. ubuntu
Re:interrupt
« Risposta #6 il: 06 Settembre 2012, 17:01:24 CEST »
0
mi spiego meglio.. mi servirebbe un "onClick" che reagisce anche al click fuori dall'applicazione, cioè, con l'app ridotta a icona

mi scuso per il doppio post
mi sto studiando i service.. Service | Android Developers
forse è quello che fa per me, no?
« Ultima modifica: 06 Settembre 2012, 17:20:56 CEST da gabric »

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:interrupt
« Risposta #7 il: 10 Settembre 2012, 08:04:15 CEST »
0
mi spiego meglio.. mi servirebbe un "onClick" che reagisce anche al click fuori dall'applicazione, cioè, con l'app ridotta a icona

mi scuso per il doppio post
mi sto studiando i service.. Service | Android Developers
forse è quello che fa per me, no?

Abbi pazienza, ma io non so cosa risponderti. Non avendo intuito cosa devi fare, le tue domande mi appaiono completamente slegate.  :-(
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline gabric

  • Utente senior
  • ****
  • Post: 613
  • Respect: +18
    • Google+
    • Mostra profilo
    • Brancato's site
  • Dispositivo Android:
    Nexus 5 / Tablet mediacom s4
  • Play Store ID:
    Brancato's+app
  • Sistema operativo:
    window7. ubuntu
Re:interrupt
« Risposta #8 il: 10 Settembre 2012, 09:01:06 CEST »
0
devi scusare me, ma è un "progetto" che si va sviluppando, e ancora non è ben delineato, ora so meglio cosa devo fare, mi servirebbe un app che resta in background (ecco il perchè del service) ma che reagisce all'avvio di ogni applicazione, anche solo con un toast.
cioè io apro l'applicazione "A"
la mia app fa comparire il toast "hai aperto l'applicazione A"
scompare il toast e si avvia l'app
Dite che è possibile far una cosa del genere?

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:interrupt
« Risposta #9 il: 10 Settembre 2012, 09:08:48 CEST »
0
devi scusare me, ma è un "progetto" che si va sviluppando, e ancora non è ben delineato, ora so meglio cosa devo fare, mi servirebbe un app che resta in background (ecco il perchè del service) ma che reagisce all'avvio di ogni applicazione, anche solo con un toast.
cioè io apro l'applicazione "A"
la mia app fa comparire il toast "hai aperto l'applicazione A"
scompare il toast e si avvia l'app
Dite che è possibile far una cosa del genere?

In passato qualcuno lo faceva leggendo il LogCat e rilevando l'avvio delle app. Ma d Jelly Bean questo non è più permesso.

Non conosco altri modi "standard".
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline gabric

  • Utente senior
  • ****
  • Post: 613
  • Respect: +18
    • Google+
    • Mostra profilo
    • Brancato's site
  • Dispositivo Android:
    Nexus 5 / Tablet mediacom s4
  • Play Store ID:
    Brancato's+app
  • Sistema operativo:
    window7. ubuntu
Re:interrupt
« Risposta #10 il: 10 Settembre 2012, 09:24:21 CEST »
0
si anch'io ricordo qualcosa relativo al legger il log cat, se non ricordo male, l'aveva proposto un utente che aveva bisogno di annullare la disistallazione di un app.
Come accedo al logcat dall'applicazione?