Autore Topic: Ottenere numero cellulare  (Letto 2160 volte)

Offline mary2501

  • Utente junior
  • **
  • Post: 70
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    htc desire hd
  • Sistema operativo:
    mac , windows xp
Ottenere numero cellulare
« il: 04 Novembre 2011, 12:48:09 CET »
0
Ciao!!
Stavo cercando una funzione che mi permetta di ottenere il numero di cellulare della persona che sta utilizzando l'applicazione..
Ho provato con

Codice (XML): [Seleziona]
 <uses-permission android:name="android.permission.READ_PHONE_STATE"/>

Codice (Java): [Seleziona]
 TelephonyManager tMgr =(TelephonyManager)mAppContext.getSystemService(Context.TELEPHONY_SERVICE);
String mPhoneNumber = tMgr.getLine1Number();

ma se lo testo sul mio htc desire hd , quest'istruzione mi rende null...
Ho guardato un po in giro e ho visto che non sono la sola ad avere questo problema...

Qualcuno è a conoscenza di qualche altro metodo?

Offline theBaffo

  • Utente normale
  • ***
  • Post: 164
  • Respect: +24
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Windows 8.1
Re:Ottenere numero cellulare
« Risposta #1 il: 07 Novembre 2011, 14:33:38 CET »
+1
Prova con questo:

Codice: [Seleziona]
       
private String getMyPhoneNumber()
{
        TelephonyManager mTelephonyMgr;
            mTelephonyMgr = (TelephonyManager)
            getSystemService(Context.TELEPHONY_SERVICE);
            return mTelephonyMgr.getLine1Number();
}

private String getMy10DigitPhoneNumber()
{
        String s = getMyPhoneNumber();
        return s.substring(2);
}
Se ti sono stato utile, premi "thanks" ;)

"Errare è umano, ma per incasinare davvero tutto è necessario un computer" - Arthur Bloch

Offline alexAndroid

  • Utente normale
  • ***
  • Post: 185
  • Respect: +27
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Giò
  • Sistema operativo:
    Ubuntu 11.10; Windows XP
Re:Ottenere numero cellulare
« Risposta #2 il: 19 Novembre 2011, 12:36:08 CET »
+1
Ciao Mary,
L'ho utilizzata in passato quella istruzione adattata ad un broadcast receiver per chiamate in entrata e uscita. A me funziona quell'istruzione.
Codice (Java): [Seleziona]
 public class OutgoingCallReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
                Bundle bundle = intent.getExtras();
                if(bundle == null)
                        return;
                TelephonyManager telephonyManager = (TelephonyManager)
                                context.getSystemService(Context.TELEPHONY_SERVICE);
                 String numeroDiTelefono = telephonyManager.getLine1Number();
                 if (numeroDiTelefono != null)
                    Log.i("Detect", "Numero di telefono: "+numeroDiTelefono);
           }
}

Ricordati di registrare il receiver nel manifest e di avere i permessi.
Codice (XML): [Seleziona]
 <receiver android:name=".OutgoingCallReceiver">
             <intent-filter>
                 <action android:name="android.intent.action.NEW_OUTGOING_CALL"/>
             </intent-filter>
         </receiver>

 </application>
        <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
</manifest>
Sei stato aiutato oppure il tuo problema è stato risolto? Allora premi il tasto THANKS E' un modo utile e carino per ringraziare chi ti è stato di aiuto.

Offline AngelMagli

  • Nuovo arrivato
  • *
  • Post: 18
  • Respect: 0
    • Mostra profilo
Re:Ottenere numero cellulare
« Risposta #3 il: 20 Febbraio 2012, 18:51:15 CET »
0
Ciao, posso chiederti come hai risolto? Io ho in parte il tuo stesso problema, su alcuni telefoni android mi esce un numero vuoto, su altri mi da un numero di telefono diverso da quello che mi aspettavo come è possibile? Grazie a chiunque mi sappia aiutare ;)

Offline mary2501

  • Utente junior
  • **
  • Post: 70
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    htc desire hd
  • Sistema operativo:
    mac , windows xp
Re:Ottenere numero cellulare
« Risposta #4 il: 20 Febbraio 2012, 18:55:49 CET »
0
Mi sono informata qua e la su internet, e alla fine ho capito che questo metodo rende il numero solo se la scheda sim te lo permette, altrimenti ti rende nulla. Ho letto anche che puoi "aggirare" questo permesso entrando nella tua configurazione sim e inserendo il tuo numero. (Android - Il mio numero di telefono nelle impostazioni non è presente | Semper Fidelis ).

Comunque puoi sapere se quel metodo ti rende un numero, andando su impostazioni > Info su telefono > Stato > Il mio numero di telefono .. Se compare sconosciuto vuol dire che non hai i permessi.

Spero di essere stata chiara

Offline AngelMagli

  • Nuovo arrivato
  • *
  • Post: 18
  • Respect: 0
    • Mostra profilo
Re:Ottenere numero cellulare
« Risposta #5 il: 20 Febbraio 2012, 19:32:53 CET »
0
Ti ringrazio per la celere risposta  ;-) oltre a questo metodo non esiste nient'altro per poter ricavare il proprio numero di telefono all'interno della mia applicazione?
Saluti

Offline mary2501

  • Utente junior
  • **
  • Post: 70
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    htc desire hd
  • Sistema operativo:
    mac , windows xp
Re:Ottenere numero cellulare
« Risposta #6 il: 20 Febbraio 2012, 19:33:53 CET »
0
Io non ho mai provato il codice postato sopra da alexAndroid.. Prova quello, poi fammi sapere!