hai provato Tasker App Factory? è un plugin
non lo conosco perchè se devo creare app lo faccio ocn altro, però magari ti può andar bene
Visualizzazione stampabile
Si scusa, mi riferivo a "Tasker App Factory"
Gli ho dato un'occhiata veloce e l'help dice:
Monitor Service
Most child apps include a service which constantly monitors for events. If you know that you don't need to monitor events anymore (in-between app launches) you can use the Disable action in the Tasker category to stop it.
It will be automatically started again next time the app is launched.
L'app viene fatta partire ovviamente come un servizio e dovrai tu in qualche modo chiamare l'azione tasker\disabilita.
Questo lo puoi fare in diversi modi (esempio una notifica permanente con pulsante) dipende dalle tue capacità con tasker.
Poi al riavvio del telefono l'app dovrebbe partire automaticamente.
Non ho provato nulla.
Ciao @shev100, nessun problema per il numero delle domande, anzi mi fa piacere la tua determinazione nel voler comprendere, e poi, dato che in un certo qual modo ho una certa parte nel tuo ingresso nel mondo Java, mi tocca rispondere (scherzo naturalmente, lo sai che mi fa piacere. Prima di cominciare è necessaria una precisazione "semantica". In Tasker, Pent, per semplificare la vita a noi utenti ha usato per le sue azioni di Java in Tasker, dei termini leggermente diversi da quelli propri di Java. Per cui quando noi in Tasker noi troviamo "function" in realtà ci stiamo riferendo ad un metodo di Java, così come con Param in realtà ci riferiamo agli argomenti in Java. Ok, detto questo consentimi ora di mostrarti il codice di un semplice programma di Java. Non ti preoccupare se non capirai il significato (è più che normale), mi serve solo per introdurre dei concetti utili per rispondere alle tue domande.
public class Saluto {
public static void main(String[] args) {
System.out.println("Ciao Shev");
}
}
Questo codice rappresenta un programma completo di Java il cui scopo è quello di mostrare a schermo una scritta. Vediamo in particolare. La linea 1 (in blu) contiene la parola class. Questa parola serve a indicare il nome che avrà il nostro *programma. Come vedi la linea termina con { anche questa di colore blu, e dopo vedremo perchè. La linea successiva (verde) è un metodo (funzione in Tasker). Nello specifico questo particolare metodo serve a eseguire il programma. L'ultima linea (in rosso) è l'istruzioe da eseguire, cioè quella che consentirà di visualizzare la scritta sullo schermo). Infine abbiamo le due } che chiudono le due { precedentemente aperte. Naturalmente va da sè che in un programma Java possiamo avere tanti metodi e tantissime istruzioni da eseguire. Comunque, questo programma per poter essere utilizzato deve essere prima compilato (tramite il compilatore di Java). Il risultato della compilazione sarà un file dal nome Saluto.class Il file .class viene poi interpretato dalla JVM presente sul computer e quindi alla fine avremo la scritta visualizzata a schermo. In Java, per nostra fortuna, sono "incorporati" tantissimi di questi file .class che costituiscono le librerie o package che noi possiamo utilizzare nei nostri programmi direttamente senza la necessità di scriverli di volta in volta. Ed ecco che ora torniamo a Tasker. Quando in una azione Java noi andiamo a "scegliere" una Classe (scrivendo il suo nome o andandola a cercare tramite la lente di ingrandimento) non facciamo altro che dire a Tasker *di utilizzare questa specifica libreria per cui possiamo utilizzare tutti i metodi (le cosiddette funzioni in Tasker) che sono stati creati al suo interno. Spero di esser riuscito fin qui a darti un quadro di insieme sufficientemente chiaro. Ora, detto tutto questo, è possibile rispondere alle tue domande.
1) Cos'è la classe Context. Tu la hai definita un "contenitore" di altre classi. Concettualmente è esatto, ma io preferisco definirla come "il punto di ingresso verso altre classi e/o servizi di sistema che non è possibile istanziare direttamente." Cosa significa? In realtà in Java non tutte le classi ( e i servizi di sistema) possono essere utilizzate direttamente, cioè, come abbiamo detto prima, andandole a cercare nella lista tramite la lente di ingrandimento. Ecco allora che entra in gioco CONTEXT. Tramite la classe CONTEXT riusciamo ad utilizzare queste classi che non possiamo richiamare direttamente. Quali sono le classi che hanno bisogno di CONTEXT per poter essere utilizzate? Domanda da 1 milione di euro. Con l'esperienza , lo studio e la documentazione sempre a portata di mano riusciremo di volta in volta ad individuarle. In linea generale possiamo dire che sicuramente tutte le classi "Astratte" non possono essere utilizzate direttamente.
2) La classe AudioManager è una di quelle classi che non possono essere istanziate direttamente. *Quindi in Tasker hai dovuto utilizzare:
A1: Java Function [ Return:silenzioso
Class Or Object:CONTEXT Function:getSystemService
{AudioManager} (String)
Param:audio Param: Param: Param: Param: Param: Param: ]
Cioè in pratica tramite la classe CONTEXT hai "richiesto" che il metodo getSystemService
"mettesse a disposizione" determinati servizi di sistema. Naturalmente il metodo getSystemService richiede un "argomento" (o parametro) che gli indichi tra la miriade di servizi quale deve andare a "pescare" (passami il termine per nulla tecnico). Questo argomento deve essere di tipo String e questo è specificato con (String. *Quindi la parola "audio" passata come argomento (parametro) indica a Java che i servizi richiesti fanno parte della sottoclasse AUDIO_SERVICE che è una sottoclasse della classe AudioManager che trovi indicata tra le parentesi graffe. *Tutto questo viene "tradotto" internamente da Tasker in linguaggio Java, per cui Java "vedrà" il comando : Context.getSystemService(Context.AUDIO_SERVICE)
3) Da dove viene fuori la parola audio? Certamente non viene fuori a caso. Fa parte di una "lista" di parole ( o meglio, di nomi) che utilizzate come argomenti della funzione getSystemService permettono di gestire i servizi cui fanno riferimento. La lista dei nomi utilizzabili è definita in Java e la puoi trovare nella pagina del sito Android Developer in sui si parla della classe Context. Per fare qualche esempio: se tu avessi utilizzato come argomento del metodo getSystemService la parola wifi saresti stato indirizzato a WIFI_SERVICE (classe principale WifiManager). Oppure con la parola power a POWER_SERVICE (PowerManager) e così via.
4) Return, come hai già capito, è l'oggetto che viene restituito come risultato della funzione Java. Tra le parentesi graffe vicino alla parola Object viene indicato il "tipo" di oggetto restituito. Quindi nel nostro caso abbiamo "Return {Object}" che sta a indicare un oggetto generico . Se, per esempio, noi avessimo "Return {Bool}" questo starebbe a significare che l'oggetto è di tipo logico (o booleano) quindi avrebbe un "valore" di vero o falso a seconda del caso. Altro esempio: {String} indicherebbe un oggetto di tipo stringa e così via.
5) Con la seconda funzione Java noi possiamo finalmente utilizzare l'oggetto creato in precedenza . A2: Java Function [ Class Or Object:silenzioso
Function:setRingerMode{} (int)
Param: 0 .....
setRingerMode è il metodo e lo trovi indicato nella tabella Public Methods" del sito. In questa tabella sono indicati tutti i metodi che puoi utilizzare e che fanno parte della classe AudioManager. Inoltre, per ogni metodo viene indicato che tipo di risultato ritorna e anche la "sintassi" che è necessario utilizzare con questo metodo. Nel nostro caso è semplice : il nostro metodo, infatti, richiede solo un argomento di tipo int (numero intero). Questo numero intero è una "costante" quindi il valore è definito ed immutabile. Gli int che possono essere utilizzati come argomenti per il metodo setRingerMode sono tre: 0,1,2. Il numero 0 corrisponde a RINGER_MODE_SILENT (modo silenzioso) - il numero 1 corrisponde a RINGER_MODE_VIBRATE (modo vibrazione) e il numero 2 corrisponde a RINGER_MODE_NORMAL (modo normale). Per quanto riguarda le parentesi graffe queste sono una parte significativa della sintassi Java. Servono a delimitare un blocco di istruzioni. Per cui tutto quello che si trova tra le { } è da considerarsi come istruzioni da eseguire. In Java le istruzioni sono eseguite blocco dopo blocco, ma naturalmente è facile trovare blocchi nidificati, come puoi vedere dal semplice esempio descritto all'inizio di questo post. Bene, shev credo di aver risposto a tutte le tue domande e spero di essere riuscito a farlo in maniera sufficientemente chiara e comprensibile. Se così non fosse chiedi pure. Tutto questo in un primo momento potrebbe sembrarti troppo difficile o complicato e quindi potresti scoraggiarti. Ti invito caldamente a perseverare. Quello che adesso ti *sembra di difficile (o addirittura impossibile) comprensione, poco alla volta apparirà sempre più chiaro e semplice. Java non è difficile (non più di altri linguaggi) e può essere imparato con un pò d'impegno. D'altra parte se ci sto riuscendo io, [emoji12] figurati se non puoi farcela tu. Ciao e a presto.
*
In effetti una discussione sull'argomento ci sarebbe[emoji16]... questa: https://www.androidiani.com/forum/sh...d.php?t=381056 se hai problemi ad aprirla con Tapatalk utilizza Androidiani app[emoji6]
Non l'ho mai segnala perché non serve molto qui (abbiamo già il buon Odysseos che spiega bene ed è molto preparato[emoji106] [emoji1]).... Comunque se vuoi farci un salto ti garantisco che troverai dei maestri della programmazione Java[emoji6]
Odysseos ti ringrazio davvero tanto per la tua attenta, precisa e semplice (volutamente resa così per farmela capire intendo) risposta!! Ho sicuramente capito un pò di più il funzionamento e spero di poter ampliare il discorso, magari proprio nella discussione indicata da N1m0Y (l'avevo detto io che mi avresti trovato un link :) ). Però tienti pronto che potrei farti qualche altra domanda :p Per adesso hai saziato la mia curiosità. Ora rimango in attesa del video tutorial :) A proposito di guide ho aggiunto il link al tuo post nella discussione che ho creato io sempre di tasker.
N1m0Y grazie per avermi indicato e trovato la discussione, ora vado ad iscrivermi giusto per seguirla un pò e vedere se ci capisco qualcosa. Chissà, forse qualcuno mi aiuterà con un' altra fissa che ho in questi giorni e che è sempre legata a tasker. Vorrei riuscire a decompilare e ricompilare l'app nfc di sistema per poter far leggere i tag anche col telefono spento e bloccato, così da far compiere a tasker alcune cose.
Ps: a proposito delle due discussioni, non si potrebbero unire così da averne una? però tenendo in prima pagina le cose dell'altra discussione (personalmente trovo un pò più appropriato come messaggio di apertura proprio quella discussione). Voi cosa ne pensate?
Ciao shev, sono contento di esserti stato utile e di aver contribuito a schiarirti le idee su Java. Grazie per aver aggiunto il link alla tua discussione. Per quanto riguarda il thread segnalato da @N1m0Y l'avevo già visto tempo fa, purtroppo però mi sembra che non sia molto "frequentato". Peccato, poteva essere un ottimo riferimento. Inoltre, se ti va, domani ti posto un link dal quale scaricare un ottimo libro su Java, molto ben fatto e chiaro e semplice nell'esposizione. Naturalmente è tutto legale [emoji106] il libro è messo gratuitamente a disposizione proprio dall'autore. Si riferisce alla versione 5 di Java (quindi di 6/7 anni fa) ma è tuttora validissimo. Ancora, se non l'hai già fatto, ti consiglio di installare il JDK e di cominciare a scrivere un po' di codice. Ti assicuro che ti divertirai. Riguardo al tuo progetto per L'NCF, non so se è possibile però tentare non nuoce, hai visto mai...A proposito, non ho capito a quali discussioni ti riferisci nel Post Scriptum [emoji51]
Mi sa che è impossibile decompilare un'app per modificare il codice sorgente (fai prima a dirlo allo sviluppatore oppure ricrearla da 0)... Comunque chiedi li per maggiori informazioni[emoji6]
Si fa prima a chiudere questa discussione e continuare di la... In prima pagina aggiungi il link alla vecchia discussione (così da avere sempre sottomano i vecchi post) e siamo apposto.
Siete d'accordo?
@DroidME
Ragazzi, una domanda su Autovoice. Io in genere lo uso sempre tramite "ok google". Va tutto bene, ma ho notato che mi aggiunge sempre un punto finale al comando. Mi spiego : se io dico per es. "Spegni luce" il comando restituito da Autovoice risulta "Spegni luce." (notare il punto in colore rosso). In condizioni normali non è un problema, ma mi dà fastidio se devo verificare il comando in un If in Tasker. Sapete perché avviene questo e se esiste un modo per eliminarlo?
Peccato che non sia frequentato. Pazienza... Accetto il link, grazie ancora! In realtà avevo comiciato a dare un'occhiata al mondo java l'anno scorso, avevo anche fatto un'app con solo un banner e con tasker ci facevo cliccare su. In pochi giorni avevo raggiunto un buon guadagno, peccato che Google mi ha poi bannato da admob [emoji16] [emoji16] fatto quello non ho mai approfondito il discorso java, ma ora che Pent ha inserito queste funzioni e che tu ci tiri fuori tante cosette carine mi è cresciuta la curiosità [emoji4] le discussioni a cui mi riferisco sono questa e quella che ho creato io.
Per il discorso decompilazione rispondo giù, così lo scrivo a tutti e due
Si potrebbe fare, anche se sarebbe un peccato per le tantissime pagine che ci sono qui.
Per la decompilazione dell'app non credo che samsung voglia ascoltare la mia richiesta [emoji14] io parlo proprio dell'app di sistema che gestisce l'nfc. Su xda hanno modificato tale app, però non per il mio telefono. Proprio per questo mi è venuta voglia di fare la modifica. E purtroppo non posso neanche installare xposed, altrimenti non avrei di questi "problemi"
Buongiorno amici, è online il nuovo video tutorial della serie Tasker in Action: Come ottenere le coordinate e altre informazioni rilevanti da un indirizzo fisico [Java].Questo tutorial è la continuazione ideale del video precedente, sempre della stessa serie, nel quale veniva mostrata la cosa inversa, ovvero come ottenere un indirizzo fisico partendo dalle sue coordinate geografiche. Anche in questo tutorial saranno utilizzate alcune azioni Java per raggiungere il risultato. Buona visione.
https://youtu.be/t5gSYQ4bXdc
Comunque io sconsiglio una cosa del genere perché se l'NFC funziona solo a schermo acceso e sbloccato c'è un motivo, ossia la sicurezza. Il sensore NFC viene usato anche per i pagamenti e nessuno vuole vedersi addebitato qualcosa perché ha inavvertitamente avvicinato il telefono a un pos.
Signori, al solo scopo informativo rendo noto che al seguente indirizzo è possibile fruire di uno dei capitoli del mio libro, "Fondamenti di programmazione, OOP e C++", in cui spiego le strutture primarie della programmazione. Per un corretto utilizzo di Tasker e, molto più, per tutti coloro che si stanno avvicinando alla programmazione (Java o quel che sia) ne consiglio la lettura.
Per ulteriori chiarimenti inerenti il linguaggio Java potete usare le sezioni dedicate all'interno del nostro forum Sviluppare per Android.
Secondo me sarebbe più facile per noi da gestire (aggiungendo subito i link dei post più utili in OP) e più semplice per gli utenti che possono consultare le guide e gli esempi in prima pagina. Questa discussione sarebbe comunque accessibile dal link in OP. Non si perderà nulla e sarà tutto molto più ordinato.
Fatemi sapere cosa volete fare così informo lo staff[emoji6]
Per la decomposizione chiedi nella sezione indicata dall'amico Crotan che qui siamo OT[emoji6]
Sul mio note 3 con lollipop non succede. Tu ha kk o sbaglio? Sul tab ho anche io kk, domani posso provare e ti faccio sapere.
Grazie per il consiglio. Capisco la cosa, ma ovviamente ci starei attento. Non credo che il semplice passaggio veloce mi addebita una qualche spesa che sta li ad aspettarmi e, tra le altre cose, non configurerei neanche il metodo di pagamento tramite nfc. E comunque non lascerei tutto il giorno il sensore acceso, ma ne programmerei l'utilizzo tramite tasker. Con tutto ciò non voglio assolutamente fare polemica o mancarti di rispetto, questo è solo un mio pensiero. Se tu hai in mente qualche altro pericolo mi farebbe piacere conoscerlo.
Era proprio il mio obiettivo, tenere l'Op aggiornato ed avere una discussione di riferimento ed ordinata.
Per il discorso decompilazione non sarei andato avanti qui, non avrebbe senso
Figurati, il mio voleva solo essere un consiglio e soprattutto spiegare il perché il sensore NFC funziona in questo modo. Molti si chiedono il perché e pensano che sia un bug o un comportamento bizzarro, in realtà ci sono delle motivazioni alla base. Poi ognuno sul suo telefono fa quello che vuole, ci mancherebbe.
Buongiorno ragazzi, mi sono avvicinato da pochissimo al mondo di Tasker e stavo cercando di costruire le prime azioni...
Sto cercando la possibilità di cambiare le impostazioni di localizzazione da risparmio batteria a alta precisione alla apertura di una data applicazione.
Ho già cercato nel Thread ma non ho trovato una soluzione, ho scaricato Geotask e Secure settings ma niente...
Sapete darmi una mano?
Grazie, della risposta... @speedtrap
Nel frattempo ho risolto cancellando e reinstallando secure settings.
Comunque mi interesserebbe conoscere il comando da shell e come lo inserisco in un task... Grazie ancora
Ciao ragazzi,
scrivo per la prima volta su questa discussione in quanto da pochissimo mi sono dedicato a cercare di capire qualcosa su Tasker. Devo dire che sono stato un po' incerto se postare o no perché scorrendo le pagine del thread, in particolar modo l'ultimo centinaio, mi sembra che il livello generale sia piuttosto alto rispetto ai miei standard, comunque ci provo. Ho seguito i tutorial di Odysseos (indispensabili!), ma ho bisogno di fare un po' di pratica. Ho cominciato quindi dalla più inflazionata applicazione di Tasker: collegarmi alla mia rete WIFI quando sono a casa e viceversa, ma poiché i tentativi di fare da solo sono miseramente falliti, ho cercato in rete ed ho trovato questo sui profili di Tasker Wiki (non so se posso mettere il link) "WIFI - enable WIFI when within cell tower range for multiple access points, minimal battery use", che mi ha attratto anche per l'ostentato basso consumo di batteria. Ho seguito le istruzioni e l'ho adattato alle mie esigenze (un solo access point).
Ovviamente funziona, però col vostro aiuto, se vorrete concedermelo, vorrei capire alcuni passaggi (come ha già detto qualcuno, non amo copiare e basta, ma vorrei rendermi conto del perché....).
Di seguito cerco di descriverlo sinteticamente:
PROFILO CELLNETWORK:
Contesto > celle vicine
Azioni:
1) imposta variabile %CELLA a 1
Exit Task:
1) pulisci variabile %CELLA if %WIFIC !~1 (pulisci variabile significa togliere qualsiasi valore? avrebbe anche potuto impostarla a 0 o qualsiasi altro valore diverso da 1?)
Contesto > non modalità aereo (perché, non capisco bene cosa faccia "non modalità aereo"?)
PROFILO WIFI NEAR:
Contesto > valore variabile %CELLA = 1
Azioni:
1) imposta WIFI on
Exit Task:
1) imposta WIFI off IF %WIFIC !~1
Contesto > WIFI vicini MIARETE alternare WIFI (cosa significa? che cosa fa di preciso "alternare WIFI"?)
PROFILO WIFI CONNECTED:
Contesto > WIFI collegato MIARETE
Azioni:
1) imposta variabile %WIFIC a 1
2) aspetta 15 secondi (perché? se esco dalla portata o spengo il router nei 15 sec?)
3) stop IF %WIFIC !~1 (che cosa ferma? le azioni successive?)
4) stato profilo WIFI NEAR imposta off
5) stato profilo CELL NETWORK imposta off
Exit Task:
1) imposta variabile %WIFIC a 0
2) aspetta 30 secondi (perché? nel caso in cui mi riconnetta entro 30 sec?)
3) stop if %WIFIC=1 (se mi riconnetto %WIFIC viene impostata a 1 quindi evita di proseguire nelle azioni successive?)
4) WIFI imposta off
5) aspetta 3 secondi (perché?)
6) stato profilo WIFI NEAR on
7) stato profilo CELL NETWORK on
Intanto questo, poi se mi chiarite le idee, ho altre domande/dubbi.
Grazie mille, un saluto.
Ciao Ody. Ho fatto le mie prove. Ciò che ho notato è questo: il punto non dipende tanto da AutoVoice quanto dall'app di Google. Infatti se provi a dare un comando, semplicemente facendo una ricerca senza far scattare un profilo di Tasker, noterai che viene mostrato il toast contenente ciò che hai detto. Se invece provi a pronunciare un comando tramite il riconoscimento di autovoice ti verrà mostrato, se attivo dalle impostazioni, il toast contenente il comando, ma senza il punto. Puoi controllare questa cosa anche tramite il log di autovoice, anche in questo caso se lo tieni attivo. Altra prova che ho fatto è quella di mostrarmi, tramite notifica o toast, tutto ciò che pronuncio (lo trovi nella array %avcomms() ): il risultato è sempre lo stesso, non c'è il punto finale.
In definitiva non dipende tanto dalla versione di Android come ipostizzavo, quanto dall'app di Ricerca di Google. Se invece ho frainteso la tua richiesta fammi sapere.
Perdonami per non averti risposto ieri, ne oggi, proprio non ho avuto il tempo :(
Ciao shev, grazie 1000 per aver fatto tutte queste prove. Hai confermato il mio sospetto, e cioè che "la colpa" è di Google. Tra l'altro deve essere qualcosa legato all'ultimo aggiornamento, perché prima non lo faceva (o forse io non lo avevo notato) . La cosa strana è che questo punto non riesco ad eliminarlo neanche indicandolo nell'opzione "remove phrase" di Autovoice. Poi un'altra cosa strana è che il punto viene aggiunto solo quando uso le regex (però devo verificare bene facendo altre prove) e me lo ritrovo anche nella var %avcomm (non nell'array %avcomms(), che non ho provato). Io sto usando la beta 2.0.48 di Autovoice, tu invece? Appena ho un po' di tempo devo fare delle prove approfondite per capire bene cosa succede. Per il momento ti ringrazio per aver dedicato una parte del tuo tempo al mio problema, almeno ho capito che non è un problema solo mio. A presto [emoji106] [emoji112]
Prima non so come fosse, io non uso il comando "Ok Google", faccio direttamente con autovoice quindi non posso darti un riscontro. Ma con la batteria come va tenendo sempre il telefono in ascolto? Io avevo provato ma calava parecchio.
Nelle prove che ho fatto anche io ho usato le regex. La mia versione è come la tua ma non è la beta, è l'ultima presente sul playstore (io le beta non le posso avere non avendo G+). Può essere che ti vada in conflitto con qualche altro task? E i profili configurati mi viene da pensare che non scattano a causa di quel punto, o sbaglio?
Intanto mi è venuto in mente un possibile workaround, che però io non posso testare non avendo il problema: potresti far intercettare il toast contente il comando tramite autonotification, passarlo in una variabile e pulire questa variabile da ciò che non ti serve. Se scopro dell'altro ti faccio sapere
Praticamente si dipende poi da che controllo fai, invece di controllare 0 o 1, controlli se esiste o meno.
La modalità aereo spegne tutto, compresa la radio gsm, è un controllo in più visto che devi gestire le celle gsm e in quel caso non puoi.
Significa se è spento accendi, se è acceso spegni.
Penso che serve per evitare "false" attivazioni come dici tu. Si lo stop ferma tutto e le azioni successive non vengono eseguite.
Il wait è per lo stesso motivo di prima.
Questo non lo so
Una cosa importante sono le impostazioni dei profili e del "task order". Se l'opzione è attiva allora il task di uscita non può essere eseguito se quello in entrata è ancora in esecuzione, se invece è disattiva allora è possible che il task in uscita venga eseguito subito se la condizione non è più verificata. Da come hai descritto a occhio direi che i profili sono fatti per avere questa opzione disabilitata.
Salve, come posso attivare automaticamente la connessione dati con tasker e android 6.0? Secure setting nn va..Ci servirebbe un comando da shell(ho root naturalmente)?
Il comando Shell è molto semplice :
Per abilitare la connessione dati
svc data enable
Per disabilitare, invece:
svc data disable
Il problema però è un altro. Molti utenti sostengono che su Marshmallow molti comandi Shell non funzionano pur avendo il Root. Pent, comunque sta lavorando ad una versione di Tasker compatibile con Android 6.
Ciao Franco,
innanzitutto grazie per la celere risposta. Purtroppo mi rendo conto che ho molte difficoltà nel comprendere alcuni concetti che, per te e molti altri, saranno probabilmente abbastanza elementari. Infatti mi sono rimasti dei dubbi in merito alle domande che ho fatto. Li elenco di seguito, nel caso in cui tu trovassi 5 minuti per cercare di chiarirmeli......
Ok.
Si, "modalità aereo" spegne tutto e "non modalità aereo" permette tutto, ma siamo già in questa situazione e né questo, né gli altri due profili, settano mai in "modalità aereo", quindi questo passaggio mi sembra ridondante. Se è così, avrei potuto non scriverlo? Da qui mi sorge un altro dubbio/domanda: è possibile un exit task non collegato ad alcun contesto?Quote:
La modalità aereo spegne tutto, compresa la radio gsm, è un controllo in più visto che devi gestire le celle gsm e in quel caso non puoi.
Quindi il funzionamento del profilo WIFI NEAR è: se CELLA = 1 accendi WIFI - quando il valore di CELLA diventa diverso da 1 ed anche WIFIC è diverso da 1, spegne WIFI e inizia la scansione delle RETI WIFI vicine, se ne trova una (la mia) riaccende WIFI. Ma CELLA e WIFIC sono diverse da 1 quando, o sono lontano da casa e in questo caso la scansione non troverà reti vicine, oppure potrebbe essere il caso in cui pur trovandomi in casa perda la connessione con la cella GSM, ma dovrei aver perso anche la connessione con il router(WIFIC diverso da 1), cosa già di per se abbastanza rara, direi quasi impossibile il verificarsi di entrambe contemporaneamente. Quindi anche in questo caso non capisco la necessità di spuntare il flag "alternare WIFI". Avrei potuto non spuntarlo?Quote:
Significa se è spento accendi, se è acceso spegni.
Ok.Quote:
Penso che serve per evitare "false" attivazioni come dici tu. Si lo stop ferma tutto e le azioni successive non vengono eseguite.
Ok.Quote:
Il wait è per lo stesso motivo di prima.
Ok.Quote:
Questo non lo so
Non mi è chiaro qual'é l'opzione che può essere attivata o disattivata e neppure il diverso comportamento dei task nell'uno o nell'altro caso: intendi dire che se è disattiva "il task in uscita viene eseguito subito se la condizione non è più verificata" anche se tutte le azioni di quello in entrata non sono ancora state eseguite?Quote:
Una cosa importante sono le impostazioni dei profili e del "task order". Se l'opzione è attiva allora il task di uscita non può essere eseguito se quello in entrata è ancora in esecuzione, se invece è disattiva allora è possible che il task in uscita venga eseguito subito se la condizione non è più verificata. Da come hai descritto a occhio direi che i profili sono fatti per avere questa opzione disabilitata.
Grazie ancora, un saluto.
Si potrebbe essere ridondante. No un task deve essere sempre collegato ad un contesto, può esistere un contesto con solo task in uscita (senza entrata).
Potrebbe essere, faccio fatico a seguirlo "su carta".
Devi tenere premuto sul profilo e poi entrare nelle opzioni. In pratica normalmente Tasker aspetta sempre quello in ingresso se non terminato prima di eseguire quello in uscita. Se invece quell'opzione non è attiva, quando la condizione non è verificata, il task in uscita viene eseguito subito, anche se quello in entrata non è ancora finito.
Ho provato a cancellare il contesto "non modalità aeroplano", mi permette di farlo perché comunque in quel profilo c'é già il contesto celle vicine.
Provato anche a togliere il flag alterna WIFI. Farò delle prove per vedere se cambia il comportamento a seguito di queste variazioni.
Per quanto riguarda il "Task order" ho la versione in italiano, corrisponde all'opzione "imponi ordine attività"? Se è così in tutti e tre i profili è disattivata e potrebbe avere un senso per il profilo WIFI CONNECTED che prevede più azioni ed è anche impostato un tempo di attesa.
Forse ho cominciato da qualcosa di troppo complicato per il mio livello............... comunque sono testardo non mollo!!!!
Avrei anche un altro paio di cose da chiedere: la prima è che sarebbe molto più completa questa routine se prevedesse anche lo switch automatico da wifi a rete mobile e viceversa, ma credo che si debba essere root per farlo, o esiste qualche altra possibilità? la seconda è che ho notato che quando entro in casa la connessione alla rete wifi avviene non appena accendo lo schermo ma non prima, quindi se entro in casa e lascio inattivo il telefono per due o tre ore, continua ad utilizzare la rete mobile per quelle app che girano in background (per esempio per le sincronizzazioni) e questo non mi piace; pensi che questo avvenga per qualche difetto di progettazione o è normale che sia così e comunque è possibile cambiare questo comportamento?
Ciao, grazie per la pazienza.....
Ragazzi allora siete d'accordo a spostare la discussione nel thread di shev100 (quello con le guide in OP per intenderci). L'obiettivo è quello di unificare le 2 discussioni per avere un solo thread con l'op sempre aggiornata (guide, link utili, esempi e gli script degli utenti). Se vi sta bene thanksate questo post grazie😉
Intanto vediamo se la cosa si può fare.... @NiloGlock
Una domanda: come si fa a stabilire se la localizzazione risparmio energetico è attiva oppure no? Ho fatto delle prove con le variabili di Tasker ma quelle relative alla posizione (rete) rimangono sempre uguali anche con la localizzazione disattivata.
https://www.androidiani.com/extra/im...mage_jk5p9.jpg
Inviato dal mio SM-N910F usando la nuova Androidiani App
Ciao shev. Allora, oggi mi sono dedicato a questo problema e ho fatto qualche prova. Sono giunto alla conclusione che non è colpa di Google Now, ma è Autovoice che in qualche modo inserisce il punto. Veniamo alle prove che ho fatto:
Prova #1: Comando semplice
Ho creato un profilo Autovoice con il comando music is my life Questo comando fa avviare un task molto complicato che : fa partire il lettore multimediale, va alla pagina delle Play lists, sceglie una determinata Playlist, scorre attraverso le pagine di questa Playlist alla ricerca di una specifica canzone è infine la manda in esecuzione. Quando pronuncio il comando tramite Autovoice (con OK google) ecco il risultato:
http://images.tapatalk-cdn.com/15/10...b1afa071af.jpg
Come puoi vedere il Toast contiene il punto alla fine del comando. Nella seguente immagine vedi il flash del comando riconosciuto (%avcom) :
http://images.tapatalk-cdn.com/15/10...7b5479f2a7.jpg
Quindi anche il comando ha il punto. Da notare che quando pronunciò ok google e il comando Autovoice, si apre comunque la finestra ricerca dell'app Google (cosa del tutto normale) e si legge chiaramente che il comando scritto da Google nella sua finestra non ha il punto.
Prova #2: Comando Regex
Nuovo profilo Autovoice questa volta con comando: luce livello (?<level>[0-9]+
Il comando serve ad impostare la luminosità del display ad un livello specificato nel comando. Quindi pronunciando luce livello 180 Il display sarà impostato al valore 180 (valore ritornato dalla variabile level).
Questo è il Toast che riporta il comando:
http://images.tapatalk-cdn.com/15/10...20c74ba69a.jpg
Come si vede è presente il punto. Invece nella variabile level è tutto a posto, il punto non è presente:
http://images.tapatalk-cdn.com/15/10...72ef637727.jpg
Quindi il task funziona perfettamente. Ora veniamo alle prove con l'azione di Autovoice Recognize quindi senza utilizzare "OK Google".
Prove #3 e #4: Recognize
Questa volta ho usato il comando semplice test luce e il comando Regex [I]test luce (?<level>[0-9]+)
In entrambi i casi il comando non contiene il punto :
http://images.tapatalk-cdn.com/15/10...ffd17a363b.jpg
Quindi nessun problema con il task collegato in entrambi i casi. A seguito di queste (e altre) prove ritengo che per qualche motivo AutoVoice inserisca arbitrariamente il punto alla fine del comando, ma solo quando viene usato congiuntamente con OK Google. Proverò a riportare il problema a João Dias per vedere se ne è al corrente. Tu, shev, di tutto questo che ne pensi? Hai qualche altra a idea o opinione in merito? Comunque il problema del punto è risolvibile facilmente e qui vi propongo due diverse soluzioni:
Soluzione #1 al problema del punto
Come prima soluzione ho usato questa: nell'if che serve a controllare il comando inserito ho semplicemente scritto:
If %avcom matches comando* Dove "comando" è appunto il comando da verificare. A beneficio degli utenti meno esperti occorre specificare il significato del * alla fine della parola comando. Il carattere [B]*[B] è un metacarattere che dice a Tasker di considerare la parola "comando" seguita da eventuali altri caratteri (quindi nel nostro caso il punto). Sebbene questa soluzione funzioni egregiamente, ho pensato di utilizzarne un'altra che credo vada meglio ed èè anche più semplice.
Soluzione #2 al problema del punto
Per risolvere il problema è sufficiente, quando creiamo il nostro profilo AutoVoice, cliccare su Avanzate (in fondo nella pagina di configurazione). Nella nuova schermata che si apre cliccare su Replacements e scrivere quanto segue: .= senza alcuno spazio tra il punto e il segno di uguale e senza scrivere niente alla destra di =
In questo modo Autovoice semplicemente eliminerà il punto indesiderato. Attenzione il punto sarà ancora visibile nel Toast, m sarà eliminato nel comando. Ok, questo è tutto. Shev, cosa pensi, hai qualcosa da aggiungere o non ho considerato qualcosa di importante? Fammi sapere se ti viene in mente qualcosa, intanto grazie per il tempo che mi hai dedicato. [emoji6] [emoji106]
Thanks-grabber roftl
Intendi unire a questo thread mantenendo l'OP della discussione attuale?
Neanch'io ho mai capito il perchè delle due discussioni, unificarle sarebbe cosa buona e giusta.
Se @shev100 si offre per mantenere sempre aggiornata la discussione si può tranquillamente procedere :)
P.S. @N1m0Y Se anche tu necessiti di uno dei primi post posso intestartelo ;)
Intendevo chiudere questa discussione e lasciare solo il thread guida di shev100 (di là ho già un post in prima pagina). Ho già parlato con DroidMe qui https://www.androidiani.com/forum/sh....php?p=7146901
PS: in caso qualcun'altro volesse un post da poter gestire in prima pagina sarebbe possibile aggiungerlo?
Inviato dal mio SM-N910F usando la nuova Androidiani App
Mi sono dimenticato di specificare che non ho il root.....
Inviato dal mio SM-N910F usando la nuova Androidiani App
Si sarebbe quella l'opzione e non mi stupisce che sia disattiva, da come erano fatti si intuiva. Per attivare o disattivare i dati mobili Tasker ha un azione ma su lollipop mi sembra che non va, io sono su KitKat e mi funziona. Non so il motivo perché ti succede, ma se il problema è accendere lo schermo puoi usare secure settings per accenderlo così fa quello che deve fare e poi si rispegne.