Tutorial Facile
Nel tutorial di oggi andremo a realizzare un applicazione "dimostrativa" che vi illustrerà abbastanza nel dettaglio l'uso dei componenti nella palette "social" per la gestione delle funzioni telefoniche del vostro smartphone.
Si analizzeranno quindi i componenti "PhoneNumberPicker", "PhoneCall" e "Texting" (per il componente texting potete andare a vedere anche gli altri due tutorial : Tutorial 43 - Invio SMS e Tutorial 45 - Ricezione di SMS)
Con questi componenti come avrete intuito sarà possibile selezionare un numero dalla rubrica del telefono, per poi decidere se si vuole effettuare una chiamata verso questo numero o se si preferisce inviare un SMS.
Lascio alla libera e grande fantasia dei miei lettori la scelta di possibili altre implementazioni di questi componenti (per esempio il testo degli sms può essere preso da una lista predefinita di frasi, oppure si può realizzare un app che chiami in caso di emergenza, magari usando il sensore di movimento, dei numeri di persone di fiducia, etc...)
Buona visione!!!
Il sorgente dell'applicazione è scaricabile da questo link
La discussione nel forum invece la trovate a questo link
Come sempre vediamo nel dettagli l'help dei due componenti utilizzati (per quello del texting vedete i precedenti tutorial), perdonate la qualità della traduzione :)
PhoneNumberPicker
Questo componente permettere agli utenti di scegliere un numero di telefono da una lista di numeri di telefono memorizzati nei contatti del telefono Android. Quando l'utente clicca sul componente, viene visualizzato un elenco dei numeri di telefono dei contatti da scegliere. Dopo che l'utente ha fatto una selezione, le seguenti proprietà vengono impostate in base alle informazioni relative al contatto selezionato
Properties:
Enabled
-Se spuntato, l'utente può cliccare sul componente per aprire la rubrica.
ContactName
-Nome del contatto selezionato.
EmaiAddress
-Indirizzo di posta elettronica primario del contatto selezionato.
PhoneNumber
-Numero di telefono del contatto selezionato. Picture -Immagine del contatto selezionato.
Events:
AfterPicking ()
-Evento generato dopo che l'utente sceglie un numero di telefono.
BeforePicking ()
-Evento generato dopo che l'utente clicca il pulsante ma prima che venga visualizzata la rubrica. GotFocus ()
-L'elemento è attualmente a fuoco.
LostFocus ()
-L'elemento non è più a fuoco.
(GotFocus e LostFocus valgono solo se si utilizza un dispositivo di puntamento tipo un mouse, nel qual caso se la freccia è sopra il componente ho l'evento GotFocus, quando si sposta al di fuori ho l'evento LostFocus)
Methods:
Open ()
-Apre il PhoneNumberPicker, come se l'utente ci avesse fatto click sopra.
PhoneCall
Utilizzare questo componente per comporre il numero di telefono ed effettuare una chiamata. PhoneCall è un componente non visibile che fa una telefonata al numero specificato nella proprietà PhoneNumber che può essere impostata sia in Design Editor o in Blocks Editor. È possibile utilizzare il metodo MakePhoneCall per fare una telefonata dalla vostra applicazione.
Questo componente è spesso utilizzato con il componente PhoneNumberPicker, che consente all'utente di selezionare dai contatti memorizzati sul telefono ed imposta la proprietà PhoneNumber al numero di telefono selezionato. Per specificare direttamente il numero di telefono, impostare la proprietà con le cifre volute (ad esempio, "6505551212"). Il numero può essere formattato con trattini, punti e parentesi che vengono ignorati automaticamente. Non è possibile includere spazi nel numero.
Properties:
PhoneNumber
-Il numero di telefono da comporre.
Events:
nessuno
Methods:
MakePhoneCall ()
-Compone il numero specificato nella proprietà PhoneNumber.
Ciao Seb
RispondiEliminapurtroppo visualizzo un errore che suppongo relativo al tipo di telefono che uso,
ERROR 1107: THE SOFTWARE USED IN THIS APP CANNOT EXTRACT CONTACTS FROM THIS TYPE OF PHONE
Io uso un samsung galaxy s2 ,
temo sia proprio come dici te, probabile che la customizzazione di Samsung per i contatti vada in conflitto con App Inventor e quindi non funzioni con esso, mi dispiace...
EliminaCiao, vengo ancora una volta chiedere il vostro aiuto, ho seguito il corso che funziona molto bene, ma vorrei il numero da chiamare è che il numero in una casella di testo.
RispondiEliminaPer effettuare la chiamata ho la stessa cosa di te, la "Notifica" per la scelta, e dopo il "Notifier.AfterChoosing" = scelta dopo il "_If" nel test se la "scelta è =" sì "," allora fare "then-do è lì che mi sono bloccato, voglio il numero da chiamare il numero entra nel campo testo!, finalmente" PhoneCall1.MakePhoneCall "
grazie
Volevo mandarti una foto del mio "Editor blocchi" ma qui non va
EliminaCiao, iscriviti nel forum, li puoi caricare le immagini cosi ti posso aiutare ciao
EliminaCiao Sebastiano Perfavore Aiutami Non mi da la Palette Other suff è l'altra di sotto Aiutami !!!
RispondiEliminaStai usando il nuovo App Inventor, ovvero App Inventor 2?
Eliminaquesti componenti li trovi sotto la palette "social"
se sono altri componenti che cerchi dimmelo e ti indico dove li trovi in AI2 (ci metti cmq 2 minuti ad aprire tutte le palette e controllare da te...) :)
ciao sebastiano io ho fatto tutto quello che dici nel video ma non mi da i contatti da scegliere nell' app
RispondiEliminaChe telefono usi, purtroppo phonenumberpicker non va su tutti i telefoni, in particolar modo so che ha problemi con i Samsung e gli Htc, non ci si può fare nulla purtroppo è una limitazione di AI.
EliminaSe con il mio sorgente ti da lo stesso problema allora ti sei scontrato con questo tipo di limitazione, mi dispiace
per ovviare a questo problema di compatibilità tra dispositivi non si potrebbe fare semplicemente una copia della rubrica e fare una app tipo quella nel tutorial 45. secondo si bypasserebbe, che ne pensi? però non saprei come fare. forse con il componente file che attraverso un percorso, a me sconosciuto, lo carica nel tinydb dell'app? è chiaro avresti in doppione della rubrica,ma almeno vai sul sicuro. fammi sapere se ho detto baggianate
EliminaHo anch'io problemi (il contatto non esiste !?); ho un LG5.
RispondiEliminaCi sono problemi con gli LG ?
Grazie
non ho un LG quindi non posso provare, però è probabile, tutto quello che non è android stock da un pò di problemi con questi componenti...
EliminaPer inviare o ricevere (leggere in una label) SMS , forse conviene usare activity ? Vedo che questo componente ha tante funzioni; io però non so indagare e oltre tutto non conosco l'inglese. Sai dirmi come posso risolvere? Grazie
Eliminavorrei sapere per favore se con AI2 si possono inviare i toni dtmf ovvero una cosa del genere 12345,#,34#,3,4,# grazie
RispondiEliminami sapete dire, se è possibile iniziare la chiamata ad un numero, interromperla dopo +o - una decina di secondi,e poi rifare la chiamata allo stesso numero. In pratica il salto di un apparecchio risponditore , grazie.
RispondiEliminase è fattibile mi date qualche suggerimento ?
Salve, sono nuovo di questo portale che trovo davvero interessante. Ho una richiesta, se possibile. Dovrei far apparire pulsante con scritto "rispondi" nel momento in cui ricevo una telefonata. Non so quale sia il metodo (per lanciare la telefonata ho utilizzato avviamente MakePhoneCall). Mi aiutate?
RispondiEliminaIl phonecall lavora anche con le chiamate in arrivò ?
RispondiElimina