Italian Chiacchiericci

LucaMs

Expert
Licensed User
Longtime User
Un'altra... secoli fà volli sviluppare una combobox (ero proprio agli inizi e non avere una combobox mi sembrava una tragedia).
A parte che all'epoca non si potevano creare custom view per il Designer, feci qualche macello, mi stufai ed abbandonai (oggi la farei decentemente :D).
Non sono certissimo che fosse quella che ho indicato. Me ne ricordo vagamente una (fatta - male - da me; e se non ricordo le mie... :D) in cui era possibile visualizzare un paio di micro-tasti, uno era per poter aggiungere vocaboli a runtime, l'altro... non me lo ricordo, probabilmente per aprire la combo.
 

Star-Dust

Expert
Licensed User
Longtime User
... e suppongo che senza queste - che chissà cosa permettano - Android non consenta granché per farle "comunicare".
Non so, ma non penso volesse pubblicare qualcosa su Google Play. Oppure magari voleva aggiungere alla sua App la facoltà di sfruttare alcune funzioni di WA. Non saprei non ho voluto vederlo il codice.
Io non mi intendo di queste cose strane e non so perché le abbia mandate a me.
 

Star-Dust

Expert
Licensed User
Longtime User
Non intendevo questo; volevo dire che far comunicare due app "liberamente" su Android (e non solo su Android) non è facile, se le due app non sono già predisposte (appunto se almeno una delle due non fornisca qualcosa per farlo).
Ma neanche lui credo volesse ottenere questo tipo di comunicazione:p

Ho visto gli esempi.
Il Combo non vedo nessun immagine, ma se é il combo come VB&, io con la mia Classe Catalog, ho ottenuto qualcosa di simile. A differenza le voci sono divise su una griglia e completi di immagine. Ma trasformarla in una combo classica é abbastanza semplice. Credo cmq che Erel abbia realizzato qualcosa di simile che accede anche al DB. Se non erreo la SearchView.

Il video non si riferisce a una view ma proprio a un interfaccia di un gioco. Realizzarla non é troppo complicata, ma troppo specifica, servirebbe solo a te. :p
 

sirjo66

Well-Known Member
Licensed User
Longtime User
praticamente ho un cliente che ha una libreria ed ogni volta che gli arriva un libro che gli era stato ordinato da un cliente, lui invia un SMS al cliente per dirgli che il libro ordinato è disponibile al ritiro.
Ma come ben sai gli SMS costano, e quindi mi chiedeva se era possibile inviare un messaggio tramite WhatsApp anzichè tramite SMS.
Ho cominciato a guardarmi intorno ed ho trovato una libreria DLL per linguaggio .NET ma sinceramente devo ancora provarla.
Il problema potrebbe essere che la libreria ha migliaia di clienti e da quel che ho capito bisogna che il cliente sia registrato nella rubrica del telefono, altrimenti WhatsApp blocca l'account.
Quindi mi stavo chiedendo se era meglio fare l'applicazione sul telefono e poi tramite programma .NET inviare i dati del messaggio da spedire all'app sul telefono
 

LucaMs

Expert
Licensed User
Longtime User
Il video non si riferisce a una view ma proprio a un interfaccia di un gioco. Realizzarla non é troppo complicata, ma troppo specifica, servirebbe solo a te. :p
Forse hai letto troppo in fretta. Non mi riferivo a tutta l'interfaccia grafica del gioco, ma al "cerchio infuocato" intorno all'avatar del giocare, ad indicare il tempo ancora a disposizione.

Il fatto che serva a me, poi, dovrebbe essere un motivo in più per te per realizzarla :p
 

LucaMs

Expert
Licensed User
Longtime User
praticamente ho un cliente che ha una libreria ed ogni volta che gli arriva un libro che gli era stato ordinato da un cliente, lui invia un SMS al cliente per dirgli che il libro ordinato è disponibile al ritiro.
Ma come ben sai gli SMS costano, e quindi mi chiedeva se era possibile inviare un messaggio tramite WhatsApp anzichè tramite SMS.
Ho cominciato a guardarmi intorno ed ho trovato una libreria DLL per linguaggio .NET ma sinceramente devo ancora provarla.
Il problema potrebbe essere che la libreria ha migliaia di clienti e da quel che ho capito bisogna che il cliente sia registrato nella rubrica del telefono, altrimenti WhatsApp blocca l'account.
Quindi mi stavo chiedendo se era meglio fare l'applicazione sul telefono e poi tramite programma .NET inviare i dati del messaggio da spedire all'app sul telefono
E' probabile che un blocco simile esista anche nella versione .Net (benché questa giri su PC e quindi non ci sia una rubrica, ma qualche protezione dev'esserci, altrimenti spari msg WA a raffica a chiunque - ovvero spam).
 

Star-Dust

Expert
Licensed User
Longtime User
Se usi le Web ApI puoi farlo da dove vuoi. Da Android, Windows (Con Java o B4J).
In ogni caso il messaggio arriva al cliente, e su WhatsApp appare anche se il numero non é in rubrica. Solo che insieme al messaggio appare la scritta...tipo... E' un disturbatore? Vuoi bloccarlo?

Guarda queto mio thread: https://www.b4x.com/android/forum/t...ssage-to-specific-phone-number.84398/#content

Poi se devi usarlo solo da Android, MarcoRome ha fatto una libreria al riguardo. Ma sul forum trovi tutto.
NEl sito di WhatsApp trovi la documentazione ufficiale per usare le API ufficiali per android, ma sono meno potenti delle WEB API:
 

Star-Dust

Expert
Licensed User
Longtime User
Forse hai letto troppo in fretta. Non mi riferivo a tutta l'interfaccia grafica del gioco, ma al "cerchio infuocato" intorno all'avatar del giocare, ad indicare il tempo ancora a disposizione.

Il fatto che serva a me, poi, dovrebbe essere un motivo in più per te per realizzarla :p
Si quello l'ho visto. Si serve solo quello? Mi deludi.. credevo chissa che
 

sirjo66

Well-Known Member
Licensed User
Longtime User
se fosse possibile vorrei fare il tutto da PC (usando quindi VB.NET), ora mi guardo queste WEB API cosa sono, grazie mille
 

Star-Dust

Expert
Licensed User
Longtime User
se fosse possibile vorrei fare il tutto da PC (usando quindi VB.NET), ora mi guardo queste WEB API cosa sono, grazie mille
inserisci questo codice html in una webview (Android, Windows, ndo te pare)
HTML:
<html><center>
<a href="https://api.whatsapp.com/send?phone=TextMessage&text=PhoneNumber">SEND </a>
</center>
</html>
e invii il messaggio.
Poi iniettando dello script l'invio te lo fai fare in automatico. Mi pare che sul forum Erel ha pubblicato uno script da iniettare che clicca il bottone in automatico.
 

Star-Dust

Expert
Licensed User
Longtime User
Solo? Io non saprei da che parte cominciare (al massimo un cerchietto "progressivo", ma non con effetti speciali, come quello).
bisogna studiarci ma é fattibile. Con la tela (Canvas)
Ho visto anche il pallino che cerchia il concorrente... non sono cose troppo complicate comunque.
Richiede però ore di lavoro. Non complicate ma lunghe. Ricordi quando abbiamo creato il cerchio dei colori per ColorDialog?
Erel aveva inviato un immagine già pronta e studiando e ristudiando siamo riusciti a crearla da codice.
poi @DavideV ha perfezionato il mio codice.
https://www.b4x.com/android/forum/threads/wheel-color-generate.80301/page-2#post-510953
Ci vuole tempo ma si ottiene tutto
 
Last edited:

Star-Dust

Expert
Licensed User
Longtime User
inserisci questo codice html in una webview (Android, Windows, ndo te pare)
HTML:
<html><center>
<a href="https://api.whatsapp.com/send?phone=TextMessage&text=PhoneNumber">SEND </a>
</center>
</html>
e invii il messaggio.
Poi iniettando dello script l'invio te lo fai fare in automatico. Mi pare che sul forum Erel ha pubblicato uno script da iniettare che clicca il bottone in automatico.
@sorex ha suggerito questo codice per cliccare dall'esterno
B4X:
wve.executeJavascript(wv,"document.getElementById('lst-ib').value='test';document.forms(0).submit()")
 
Last edited:

sirjo66

Well-Known Member
Licensed User
Longtime User
grazie a @Star-Dust per i suggerimenti.
con quel codice HTML sono riuscito a comporre il messaggio al numero voluto, per cui non ci sono grossi problemi, ma mi stavo chiedendo se c'è un modo per inviare il messaggio senza dover intervenire dando OK manualmente.
Tempo fa avevo letto che da parte di WhatsApp non c'era l'intenzione di rendere il tutto automatico per problemi (giustamente) di spam, ma allora mi chiedo se utilizzando una DLL e lavorando su Windows la cosa si può fare
 

sirjo66

Well-Known Member
Licensed User
Longtime User
altra cosa interessante:
oltre ad usare le API sopra descritte, si può fare una chiamata diretta con
whatsapp://send?phone=numerocellulare&text=Prova%20di%20invio%20messaggio
per cui posso chiamare direttamente whatsapp senza passare da HTML, Javascript o cose del genere :)
 

Star-Dust

Expert
Licensed User
Longtime User
Delle API che non richiedono il consenso dell'utonto esistono.
Se tu usi ad esempio l'Assistente di Google, puoi dettare il messaggio e verrà inviato senza che digiti l'ok da schermo. Lo stesso se usi uno SmartWatch. Queste API ufficiali non sono documentate.

Ci sono anche metodi non ufficiali (che io non conosco) ma che mettono a rischio. Se un numero di telefono usa API non ufficiali e viene scoperto, verrà bannato a vita dal WhatsApp.

Sul sito ufficiale trovi documentati le API Android (senza passare da HTML) ma che richiedono il consenso. (Vedi qui)

Oltre al link di WhatsApp, per le API non HTML, puoi consultare queste librerie:
https://www.b4x.com/android/forum/threads/whatsapp-library.51571/#content
https://www.b4x.com/android/forum/t...and-anothers-important-intents.68229/#content

In ultimo esamina queste righe di codice: (Queste richiedono il consenso dell'utonto)
B4X:
'Apre wathsApp e scegli contatto
Dim i As Intent
i.Initialize(i.ACTION_SEND,"")
i.SetType("text/plain")
i.SetComponent("com.whatsapp/.ContactPicker")
i.PutExtra("android.intent.extra.TEXT","HELLO")
StartActivity(i)

'Contatto specifico
 Dim uri As Uri ' [library] ContentResolver
uri.Parse("smsto:" & smsNumber)

Intent i = new Intent(Intent.ACTION_SENDTO, uri);
i.putExtra("sms_body", smsText);
i.setPackage("com.whatsapp");
startActivity(i);
 
Last edited:

LucaMs

Expert
Licensed User
Longtime User
Passiamo alla prossima Library? Qualche idea nuova? Devo rovistare su GitHub?
Ne ho una relativamente semplice (ammesso che non esista già).

Credo che sia una funzionalità già insita del S.O. del mio tablet (Android 4.4.2). E' possibile passare ad un pannello ad un altro (meglio ancora se si potesse fare anche con le Activity), trascinando quella visualizzata, verso dx o sx, lentamente (volendo velocemente), mantenendone il controllo, ovvero senza sollevare il dito. Durante il movimento, il pannello (Activity?) sottostante aumenta le proprie dimensioni (quindi zoom, non pannello adiacente) e la propria luminosità (impostata evidentemente bassa, inizialmente).

Buon divertimento :)
 
Top