Italian come leggere il numero del telefono

GIS

Well-Known Member
Licensed User
  1. ciao, ragazzi
    è da pochi giorni che uso b4a e non capisco come fare a leggere il mio numero di cell. Ho capito che bisogna usare android.permission.READ_PHONE_STATE, ma non so come usarlo. Ho provato con Addpermissio() ma è un errore.
    Se mi potete aiutare scrivsndomi il codice corretto. Ho aggiunto le lib Phon e javaObjct. Grazie
 

udg

Expert
Licensed User
Longtime User
Non ricordo più con precisione. prova a guardare la libreria dgUID; credo sia line1number.

udg
 

GIS

Well-Known Member
Licensed User
grazie, ma io quella libreria non c e l'ho..... possibile?
 

GIS

Well-Known Member
Licensed User
capito, l hai crate te? trovata....... per implementarla in b4a, come si fa...
 

Star-Dust

Expert
Licensed User
Longtime User
https://www.b4x.com/android/forum/threads/get-the-phone-number-of-the-device.62994/#content

Come spiega Erel in questo thread non esiste una soluzione garantita per questo problema perché il numero di telefono non è fisicamente memorizzato su tutte le schede SIM, o trasmesso dalla rete al telefono.
Su certe schede SIM devi inserirlo tu dalle IMPOSTAZIONI.
Ciò è particolarmente vero in alcuni paesi , con assegnazione di numeri di telefono avviene sulla rete - e può essere modificata senza modificare la scheda SIM.

WhatsApp ti chiede di inserire il numero telefonico all'installazione e lo verifica inviandoti un SMS, proprio per i motivi sopracitati.


Oppure prova questo:
B4X:
For I=330000000 to 389999999
   Dim p As PhoneCalls
   StartActivity(p.Call(i))
   'Se trovi occupato é il tuo stesso numero
Next

SCHERZO :p:p:p:p NON LO PROVARE NON FUNZIONA
 
Last edited:

GIS

Well-Known Member
Licensed User
hahahaha ok np avevo già letto che non era certo, consigliano IMEI. cmq volevo provare se sai dirmi come fare..... grazie
 

GIS

Well-Known Member
Licensed User
leggevo che bisogna creare un manifesto per android.permission.READ_PHONE_STATE ma non capisco come
 

Star-Dust

Expert
Licensed User
Longtime User
Aggiungi nel Manifest:
AddPermission(android.permission.READ_PHONE_STATE)

Vai sul menu alla voce PROJECT e trovi MANIFEST EDITOR e aggiungi questa stringa.
Ma dopo aver selezionato la Phone Library credo la carichi da sola, puoi verificare vedendo la lista dei permessi su nella finestra dei LOG in basso a destra
 
Last edited:

GIS

Well-Known Member
Licensed User
ok.. perfetto questa mi mancava........adesso vediamo cosa riesco a combinare...... grazie ancora
 

GIS

Well-Known Member
Licensed User
forse per identificare un cell faccio prima a creare una tables dove metto un solo campo con 1 o 0...... perché volevo limitare l uso dell'inserimento dei dati da parte dell utente.perciò quando l utente fa per es. 10 add metto nel campo 1 cosi so che hs fatto 10 add e lo blocco.... Che ne dite?
 

udg

Expert
Licensed User
Longtime User
capito, l hai crate te? trovata....... per implementarla in b4a, come si fa...

Come per tutte le librerie che scarichi dal forum; copi nel tuo folder dedicato alle librerie extra ( Tools/Configure Paths .. Additional Libraries) i file che costituiscono la libreria. Quando avvi B4x trovi il riferimento della nuova libreria nell'elenco delle librerie disponibili, quindi ti basta selezionarla e disporre dei suoi metodi ed oggetti a piacimento.

La mia libreria era nata con l'intenzione di avere un contenitore unico delle best practices relative all'identificazione univoca di un device. In genere, dove posso, utilizzo Reflection o JavaObject per evitare di caricare intere librerie se quello che mi serve è una singola funzione.

Come hai già letto nei commenti precedenti non esiste ancora un modo certo di identificazione univoca (alcuni produttori utilizzano lo stesso codice per interi lotti o famiglie di prodotti), quindi il sistema da utilizzare dipende molto da quello che è lo scopo finale. Nel tuo caso anche a me non è chiaro se volevi identificare un device solo per settare una specie di semaforo in modo che latri non potessero modificare dati che in quel momento riservi al primo oppure se sia altro.

udg
 

GIS

Well-Known Member
Licensed User
Mi spiego meglio. Sto progettando un'app per cercere di arginare il più possibile le truffe. Percio ho bisogno che gli utenti che inseriscono i dati siano i più corretti possibile senza abusarne come potrebbete fare chi truffa. È per quello che devo mettere un controllo su un dato che rimanga il più fisso nel tempo.Se poi devono usare 10 email diverse per 10 inserimenti o 10 numeri quello non lo posso risolvere..... Se avete idee.... Quello di un codice random per identificare il cell non l'ho capita....
 

GIS

Well-Known Member
Licensed User
A si forse ho capito, intendi che posso cercare il file col numero random, e magari oltre al numero memorizzare i dati che aveva inserito..... Cosi se cambia i dati posso capire chr sta mentendo
 

Star-Dust

Expert
Licensed User
Longtime User
Puoi identificare un Dispositivo dal MAC ADDRESS del Wifi eventualmente
 

GIS

Well-Known Member
Licensed User
E si quasi megli del numero perché posso trovarlo anche su dispositivi senza numero..... Adesso dovrò cercare come fare a ricavarlo....
 

GIS

Well-Known Member
Licensed User
Log("Mac Address: " & Get_Mac)

Sub Get_Mac As String
Dim R As Reflector
R.Target = R.GetContext
R.Target = R.RunMethod2("getSystemService", "wifi", "java.lang.String")
R.Target = R.RunMethod("getConnectionInfo")
Log(R.RunMethod("getMacAddress"))
Return R.RunMethod("getMacAddress")
End Sub


ho trovato questo...
 

GIS

Well-Known Member
Licensed User
il tuo devo inserlo in una sub pallino
e poi il cod #if java
...........
....
#endif
 
Top