Italian Usare tasti 'screenshot' per avviare applicazione

amorosik

Expert
Licensed User
Sapete se sia possibile intercettare la pressione 'tasti screenshot' (nel mio caso power+volume_down) per avviare un programma predefinito?
Ad esempio, se invece dello screenshot volessi avviare un app per l'acquisizione foto da telecamera, pensate sia possibile?
 

amorosik

Expert
Licensed User
Esatto, l'azione predefinita (screenshot) dovrebbe essere sostituita con l'avvio di altro programma
Da qualche parte sara' pur scritto cosa avviare alla pressione tasti
Non credo sia una funzionalita' nativa di Android ma un qualcosa aggiunto
Tant'e' vero che alcuni telefoni usano certi tasti, altri telefoni ne usano altri
Basta trovare dove, ed il jocco e' fatto
Oppure, e questa potrebbe essere altrettanto interessante, come fare per avviare un certo programma alla pressione di una certa combinazione di tasti (diversi dalla combinazione screenshot)
 

LucaMs

Expert
Licensed User
Longtime User
Tant'e' vero che alcuni telefoni usano certi tasti, altri telefoni ne usano altri
E tu vuoi farlo solo per il tuo smartphone? Altrimenti, proprio per ciò che hai scritto (ed ammesso che sia possibile), differenza tra smartphone...

Prova a cercare sul web, in particolare su stackoverflow.com... ma credo che farai un buco nell'acqua.
 

udg

Expert
Licensed User
Longtime User
Agendo dalla tua applicazione puoi (o comunque potevi, visto che Android restringe le possibilità in continuazione) intercettare quella combinazione ed utilizzarla per funzioni specifiche dell'app. Io l'utilizzavo per comandare lo zoom della fotocamera.
Come launcher potrebbe essere possibile su telefonini dove hai effettuato il rooting. Stesso discorso per "reinventarne" il significato (es. attiva/disattiva microfono).
 

amorosik

Expert
Licensed User
E tu vuoi farlo solo per il tuo smartphone? Altrimenti, proprio per ciò che hai scritto (ed ammesso che sia possibile), differenza tra smartphone...
Prova a cercare sul web, in particolare su stackoverflow.com... ma credo che farai un buco nell'acqua.

Veramente no, non vorrei farlo solo per il mio tel
Vorrei intercettare la combinazione 'tasto screenshot' di un telefono qualsiasi
Nel mio caso sara' il power+volume_down, in altri telefoni sara' un'altra combinazione di tasti
Ma generalizzando, vorrei anche capire se sia possibile intercettare una combinazione qualsiasi di tasti
Cosi' si potrebbe lasciare in pace la combinazione per lo screenshot ed adottare un'altra combinazione tasti per l'avvio rapido app desiderata
"...Prova a cercare sul web..." fare o non fare, non c'e' provare
 

amorosik

Expert
Licensed User
Agendo dalla tua applicazione puoi (o comunque potevi, visto che Android restringe le possibilità in continuazione) intercettare quella combinazione ed utilizzarla per funzioni specifiche dell'app. Io l'utilizzavo per comandare lo zoom della fotocamera.
Come launcher potrebbe essere possibile su telefonini dove hai effettuato il rooting. Stesso discorso per "reinventarne" il significato (es. attiva/disattiva microfono).

Ahhh aaaaaaa
Allora si puo'
Bene, bene, passiamo allo step successivo
Come si fa' ?
 

LucaMs

Expert
Licensed User
Longtime User
trovato al volo (oggi non me va de fa' ddddeppiù)

Sub Activity_KeyPress (KeyCode As Int) As Boolean

If KeyCode = KeyCodes.KEYCODE_VOLUME_UP

Ci saranno altre costanti utili.
Già, anche ai neuroni non va tanto di lavorare; tu vuoi intercettare la pressione di quei tasti PRIMA di avviare una tua app!
Come non detto; sono talmente pigro che nemmeno elimino il post precedente né questo ?
 

udg

Expert
Licensed User
Longtime User
Qualcosa tipo:
B4X:
Sub Activity_KeyPress (KeyCode As Int) As Boolean 'Return True to consume the event
    If KeyCode = KeyCodes.KEYCODE_VOLUME_UP Then 
        camEx.Zoom=Incremento
        camEx.CommitParameters
        Return True
   End If
 Return False
End Sub
Tra i KeyCodes trovi Power e molti altri. Nel tuo caso dovresti combinarli. A me era sufficiente il solo volume. Altro punto da considerare: non so se nelle versioni più moderne di Android sia ancora possibile.
 

LucaMs

Expert
Licensed User
Longtime User
Qualcosa tipo:
B4X:
Sub Activity_KeyPress (KeyCode As Int) As Boolean 'Return True to consume the event
    If KeyCode = KeyCodes.KEYCODE_VOLUME_UP Then
        camEx.Zoom=Incremento
        camEx.CommitParameters
        Return True
   End If
Return False
End Sub
Tra i KeyCodes trovi Power e molti altri. Nel tuo caso dovresti combinarli. A me era sufficiente il solo volume. Altro punto da considerare: non so se nelle versioni più moderne di Android sia ancora possibile.
eh ma...
; tu vuoi intercettare la pressione di quei tasti PRIMA di avviare una tua app!
 

LucaMs

Expert
Licensed User
Longtime User

udg

Expert
Licensed User
Longtime User
Vero, ma era già nella premessa del post #5...
Sarebbe interessante verificare se un servizio possa ricevere un broadcast in determinate situazioni (es. power+volumeup = broadcast screenshot, screenshot per tuttiii) ed agire di conseguenza. Ma qualcosa mi dice che saranno più le limitazioni che altro..eheh
 

LucaMs

Expert
Licensed User
Longtime User
Uhm... voglio provare a sviluppare un servizio sempre attivo in modo che, ad un mio fischio, lo smartphone dalla scrivania si diriga velocemente verso la mia mano destra.
Temo che riuscirò solo a farlo arrivare nella destra :(:(
 

amorosik

Expert
Licensed User
Ma... in questi giorni hai chiesto un po' di tutto.
Dato che questo è una delle cose quasi certamente impossibile da ottenere... perché non ti dedichi alle altre decine che hai chiesto? ?

Eh il fatto e' che devo tenervi sempre un po' in tensione, giu' a studiare qualcosa
Se vi mollo un attimo poi vi buttate sul divano col telecomando in mano
So' gia' che e' cosi
Io lo faccio per voi
 

amorosik

Expert
Licensed User
Già, anche ai neuroni non va tanto di lavorare; tu vuoi intercettare la pressione di quei tasti PRIMA di avviare una tua app!
Come non detto; sono talmente pigro che nemmeno elimino il post precedente né questo ?

Come PRIMA?
Se e' un programma che deve 'sentire' le combinazioni di tasti che arrivano, vuol dire che funzionera' DOPO che e' stato caricato e lanciato in esecuzione
 
Top