Italian Inseire su una editext un numero di telefono dalla rubrica

fifiddu70

Well-Known Member
Licensed User
Longtime User
qualcuno sa dirmi come faccio ad inserire su una editext il numero di telefono della rubrica del telefono?
posto un pezzo di codice:
B4X:
Sub btnContacts_Click
 Dim PhoneContacts As Contacts
   Dim ContactsList, ListOfNames As List
    ContactsList = PhoneContacts.GetAll
    ListOfNames.Initialize
       For i = 0 To ContactsList.Size - 1
        Dim c As Contact
        c = ContactsList.Get(i)
        If c.DisplayName.IndexOf("@") = -1 Then 
            ListOfNames.Add(c.DisplayName)
        End If
   Next
    EmergencyContacts=InputMultiList(ListOfNames,"Contacts")
 
End Sub
premendo il pulsante in questione, si ottiene la lista della rubrica telefonica, ma non sono riuscito a far apparire su una editex del mio programma, l'elemento selezionato ma non come nome ma come numero di telefono.
quindi premesso che editext si chiamerà: txtNumber
come inserisco il numero di telefono appena scelto dalla lista?
 
D

Deleted member 103

Guest
Ciao fifiddu70,

con questa modifica funziona.

B4X:
Sub btnContacts_Click
   Dim c As Contact
   Dim PhoneContacts As Contacts
   Dim ContactsList, ListOfNames As List
   ContactsList = PhoneContacts.GetAll
   ListOfNames.Initialize
   For i = 0 To ContactsList.Size - 1
      c = ContactsList.Get(i)
      If c.DisplayName.IndexOf("@") = -1 Then 
         ListOfNames.Add(c.DisplayName)
      End If
   Next
   Dim EmergencyContacts As List
   EmergencyContacts=InputMultiList(ListOfNames,"Contacts")

   If EmergencyContacts.Size>0 Then
      c = ContactsList.Get(EmergencyContacts.Get(0))

      txtNumber.Text=c.PhoneNumber
   End If
 
End Sub

Ciao,
Filippo
 

fifiddu70

Well-Known Member
Licensed User
Longtime User
ora vorrei risolvere il problema dei messaggi ricevuti, vorrei che i messaggi ricevuti vengano visualizzati sul mio programma, quindi su una editext chiamata: txtTesto.text, visualizzare il messaggio, mentre sulla txtnumero visualizzare il numero del messaggio ricevuto.
so che devo utilizzare smsintercept ma non so come fare
pensi di potermi aiutare?.
ho dichiarato:
B4X:
Dim si As SmsInterceptor
   si.Initialize2("SI", 999)

Sub SI_MessageReceived (From As String, Body As String) As Boolean
    ToastMessageShow(From, True)
    Return True
End Sub
dove metto
txtnumero.text
txttesto.text
?????????????? sapresti dirmi come fare?
 

fifiddu70

Well-Known Member
Licensed User
Longtime User
Fatto, ci sono riuscito, sono riuscito a far funzionare la ricezione degli sms sulla editext, miiiiiiiii sono contentooooo !:sign0142:
 

spiderweb

Member
Licensed User
Longtime User
Avendo la stessa esigenza di Fifiddu70 ho provato anch'io ad utilizzare il codice da te postato, ma non mi restituisce i valori corretti; seleziono un contatto dalla lista ma mi restituisce il numero di un altro!!! A cosa può essere dovuto? ...Premetto che per testare il codice ho fatto un "volgare" copia e incolla di questo codice utilizzando un bottone e una edittext
 
D

Deleted member 103

Guest
Ciao spiderweb,

controlla se è il nome che hai selezionato è quello giusto, perchè può darsi che ci sia un doppione con un nummer diverso.

B4X:
Sub btnContacts_Click
    Dim c As Contact
    Dim PhoneContacts As Contacts
    Dim ContactsList, ListOfNames As List
    ContactsList = PhoneContacts.GetAll
    ListOfNames.Initialize
    For i = 0 To ContactsList.Size - 1
        c = ContactsList.Get(i)
        If c.DisplayName.IndexOf("@") = -1 Then 
            ListOfNames.Add(c.DisplayName)
        End If
    Next
    Dim EmergencyContacts As List
    EmergencyContacts=InputMultiList(ListOfNames,"Contacts")

    If EmergencyContacts.Size>0 Then
        c = ContactsList.Get(EmergencyContacts.Get(0))

        txtNumber.Text=c.PhoneNumber
      
      'Controlla se è il Nome che hai selezionato!
      Log(c.DisplayName)
      Log(c.PhoneNumber)
    End If
 
End Sub
 

spiderweb

Member
Licensed User
Longtime User
Ciao Filippo e innanzitutto grazie per la tua rapida risposta.
Ho riprovato a inserire il codice ma non funziona ancora. A scanso di equivoci ho provato anche a creare dei contatti sul dispositivo virtuale(inserendo nome e numero di cellulare negli appositi campi ed evitando di inserire i doppi numeri); Facendo partire l'applicazione la lista viene correttamente visualizzata con tutti i nominativi, ma sulla edittext il numero o non viene proprio visualizzato oppure ne viene visualizzato uno errato. Ti ripeto che sto usando esattamente il tuo codice senza cambiare neanche una virgola e impostando addirittura il pulsante e la edittext con gli stessi nomi. E' troppo chiederti se puoi ritestarlo anche tu?
Grazie
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…