Italian La prossima settimana, VACANZE... ma per ora vado avanti

LucaMs

Expert
Licensed User
Longtime User
Sbaglio, perché se clicko su un qualunque widget quando sta ancora nell'elenco, mi consiglia solo di trascinarlo sulla Home.

Qualcosa hai cambiato, da quando l'avevo installato io; infatti adesso funziona ancora meno

Allora, una volta installato, Google mi informa di aver creato la scorciatoia. Se me ne frego e vado tra i widget e provo a trascinarlo sulla Home, adesso mi dice che non c'è spazio (su una schermata completamente vuota!). La differenza è che ora lo segnala come 5x1.
 

CyclopDroid

Well-Known Member
Licensed User
Longtime User
Quello è vecchio. Ora ho fatto in modo che solo quando trascini il widget su schermo, si apre il menu.

5x1... forse ho aumentato la grandezza dell'immagine! Ma non ricordo di aver fatto nulla sulla versione demo
 

LucaMs

Expert
Licensed User
Longtime User
Eh ma non me lo fa mettere sullo schermo (Home).

Oh, ho dovuto obbligatoriamente creare un mio sito, altrimenti non potevo creare un account Merchant su Google (me lo dava come campo obbligatorio).

Poi ho messo questo su Chit-Chat... ci fosse stato uno che abbia commentato (a parte Beja si meraviglia che fosse obbligatorio). Nemmeno Erel!
 

CyclopDroid

Well-Known Member
Licensed User
Longtime User
Mah! che strano!
Ho scaricato la versione FREE e a me dice che è un 4x1 (tant'è che me l'ha messa sulla Home)

Beh! però ho visto che hai messo una bozza di pagina come sito ... che ti frega? Usa quella
 

LucaMs

Expert
Licensed User
Longtime User


??? ho appena visto su Google Play che tu non hai un sito: perché diavolo me lo chiedeva con tanto di asterisco a segnalare che è obbligatorio ???
 

CyclopDroid

Well-Known Member
Licensed User
Longtime User
...infatti, ora che ci penso, l'inserimento del sito NON è obbligatorio
Sono andato a vedere nelle mie imposazioni personali e non c'è
 

CyclopDroid

Well-Known Member
Licensed User
Longtime User
Boh! io un vecchio sito ce l'ho. Se lo vorranno, metterò quello.
 

CyclopDroid

Well-Known Member
Licensed User
Longtime User
...ma che ho fatto? un virus?
Terminato il mio widget ed eseguito un Cleaner del telefono (quindi, rimossi i file inutili)... se tocco i tasti volume, mi compare il Toast del la mia app
 

LucaMs

Expert
Licensed User
Longtime User


Ho il sospetto che il tuo widget sia piuttosto particolare.

Ieri avevo intenzione di porti delle domande, perché mi ero alquanto incacchiato nel non riuscire mai a vedere la schermata delle impostazioni (e adesso nemmeno a trascinarlo sulla Home).

Ma in questo momento non sono lucido e ho dimenticato le domande esatte!

Più o meno volevo chiederti quale dovrebbe essere il "flusso" dell'app. Cioè i passi in ordine che l'app dovrebbe eseguire.

Se hai tempo e voglia, con comodo, e soprattutto se sono riuscito a spiegarmi....!
 

CyclopDroid

Well-Known Member
Licensed User
Longtime User
No, vedamente... essendo il widget (il service) auto-partente, ma se vi clicco e lo rimuovo dallo schermo dovrebbe chiudersi:

Service:

B4X:
Sub rv_Disabled
If Main.FirstClick=True Then
    ToastMessageShow("The Widget is Closed",True)
    Log("CHIUSO")
'Modifica 13/11/2014
   CancelScheduledService("")
   StopService("")
   Main.DestroyApp=True
   StartActivity(Main)
  End If
End Sub

Main:
B4X:
Sub Activity_Create(FirstTime As Boolean)
If DestroyApp=True Then
    Activity.Finish
    Activity.CloseMenu
    ExitApplication
Else
    FirstClick=False
    Toast.Show("Go to the home screen and add the PICKUP Widget.",True)
     temp = Phone_.GetMaxVolume(Phone_.VOLUME_RING)
    Activity.Finish
End If  
End Sub

... perché continua ad intercettare i tasti volume?

Allora non ha chiuso nulla ed è ancora attivo!
 

CyclopDroid

Well-Known Member
Licensed User
Longtime User
Flusso?
Se ho capito bene:
1) Cliccando sul Widget, e trascinandolo sullo schermo, richiama l'Activity Menu;
2) Questa setta i parametri eselezionati e, al tasto BACK, si chiude e richiama il Service;
3) Il Service resta in attesa di una telefonata (si aggiorna ogni secondo: StartService(Me));
4) Cliccato sopra il Widget, rientra nel Menu per modificare i settaggi;
5) Cliccando nel Menu (dove riposrta le chiamate ricevute), si apre una listview delle chiamate non risposte)
6) Settando i tasti volume dallo schermo (o dal Menu), cambia l'immagine del Widget (Questi si trovano nella Main attiva... anche se, come vedi, a fine Activity_Create della Main, go messo un Activity.Finish, e la cosa è strana );
7) Rimosso dallo schermo l'App dovrebbe terminare (sempre codice sopra).
 

LucaMs

Expert
Licensed User
Longtime User
(Questo lo stavo scrivendo prima che arrivasse il tuo sopra).

Non ci capisco un tubo.

Però vedo una variabile FirstClick che tu imposti a False ma che poi non usi nella prima parte dell'Activity_Create, come mi sarei aspettato.

(ora cerco di leggere bene il tuo post)
 

LucaMs

Expert
Licensed User
Longtime User


Ho inserito domande nel tuo testo sopra
 

CyclopDroid

Well-Known Member
Licensed User
Longtime User
Quella Main.FirstClick, la rendo True alla pressione del tasto Back nell'Activity Menu.
Questo è il Log del lancio:

B4X:
SET:2
Bitmap:0
android.media.VOLUME_CHANGED_ACTION
** Service (srvpickup) Start **
Bitmap:0
KeyCode=4
Show:PickUp is ON. Volume is 3 to 7. Enter into Menu Widget to change it-true
** Activity (menu) Pause, UserClosed = true **
** Service (srvpickup) Start **
Bitmap:0
** Service (srvpickup) Start **
Bitmap:0
** Service (srvpickup) Start **
Bitmap:0
** Service (srvpickup) Start **
Bitmap:0
** Service (srvpickup) Start **
Bitmap:0
** Service (srvpickup) Start **
Bitmap:0
android.appwidget.action.APPWIDGET_DELETED
** Service (srvpickup) Start **
Bitmap:0
android.appwidget.action.APPWIDGET_DISABLED
CHIUSO
** Service (srvpickup) Destroy **
** Activity (main) Create, isFirst = false **

...ma se premo uno dei tasti volume, ricomincia nuovamente e non si ferma più


B4X:
Bitmap:0
** Service (srvpickup) Start **
Bitmap:0
** Service (srvpickup) Start **
Bitmap:0
** Service (srvpickup) Start **
Bitmap:0
** Service (srvpickup) Start **
Bitmap:0
** Service (srvpickup) Start **
Bitmap:0
** Service (srvpickup) Start **
Bitmap:0
** Service (srvpickup) Start **
Bitmap:0
** Service (srvpickup) Start **
Bitmap:0
.......... <conyinua all'infinitoo fino a che, non rilancio l'App>
..........
.........
 

CyclopDroid

Well-Known Member
Licensed User
Longtime User
Quante activity hai? Chi richiama la Menu?
2 Activity (Main, Menu)
1 Service
2 Code Module (Scale, Toast)
La Activity Menu, viene richiamata dal Service, quando lasciato la prima volta il widget sullo schermo o quando si clicca sopra il Widget e allo Start di quest, quando si verifica la seguente condizione:
B4X:
StartingIntent.Action="android.appwidget.action.APPWIDGET_UPDATE_OPTIONS"
Il tasto BACK del dispositivo? Meglio bloccarlo e mettere un tasto nel Menu.
Si quello del dispositvo, quando sono nell'Activity Menu. Bloccarlo? Perchè?
Ogni secondo, se ho capito bene, consuma moltissima batteria. Se fai così perché dev'essere sempre pronto ad intercettare le chiamate, non è il metodo giusto, se ne occupa un intent.
L'ho lasciato tutto il pomeriggio e la notte intera attivo e, il consumo non era eccessivo... anzi. Però, se pensi che sia meglio togliere il richiamo, potrei provare (anche se lo avevo messo perché credevo fosse questo il problema che dopo un tot si stoppava).
Questa non mi è chiara: dallo schermo (o dal Menu): che intendi dire con: "dallo schermo"?
All'interno del Service_Start, ho il controllo dei tasti volume intercettati dalla loro pressione per cambiare le immagini del Widget sullo schermo:

B4X:
'Controllo volume
If StartingIntent.HasExtra("android.media.EXTRA_VOLUME_STREAM_VALUE") Then
      curVol = StartingIntent.GetExtra("android.media.EXTRA_VOLUME_STREAM_VALUE")
......
......
.....
Mentre, nell'Activity Menu, intercepto i tasti Volume dell'Activity_KeyPress. Questo non da fastidio (anche se potrei farne a meno).

Fatto è che è come se il Service non si chiudesse ma restasse attivo
 

LucaMs

Expert
Licensed User
Longtime User
Non è il momento, per me (oltretutto devo fare ancora colazione!!!)

Provo ad aiutarti con semplici suggerimenti che io metterei in atto.

Il tasto BACK (cosa di minore importanza) lo disabiliterei per vari motivi: voglio più controllo sulla mia app e, soprattutto, pare che in futuro non ci sarà più.

Il fatto che il service resti attivo, dovrebbe essere legato a quel StartService(Me), se non ricordo male. Forse dovresti condizionarlo, in qualche modo.

Infine, ripeto, per capire i passi eseguiti da un'app è molto utile mettere, all'interno di ogni routine, un log tipo:

Sub Activity_Create
log("Main: Activity_Create")

quindi col nome del modulo e della routine stessa.

Un altra cosa comoda: crea una routine in un modulo di utilità (va bene anche in uno di quelli che hai già), tipo:

una variabile globale pubblica come ad esempio LogStato

Public Sub MyLog(Msg As String)
If LogStato Then
log(Msg)
End If
End Sub

Poi imposti LogStato nella Main, a seconda se vuoi o meno il log.
 

CyclopDroid

Well-Known Member
Licensed User
Longtime User
Risolto il problema causato dalla chiusura da parte di alcune applicazioni (tipo i giochi King) e dai programmi che chiudono i task.Dopo pochi secondi, il Service riparte

B4X:
Sub Service_Start (StartingIntent As Intent)
' Resta sempre attiva  non viene MAI chiusa
StartServiceAt("",DateTime.Now + 0.1 * DateTime.TicksPerMinute,False)
...
...
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…