Da codice come faccio a sapere qual e' il mio numero di telefono sotto tipo String????? TelephonyManager???
Da codice come faccio a sapere qual e' il mio numero di telefono sotto tipo String????? TelephonyManager???
Se sai già il nome della classe che gestisce questa cosa perché non ti sei documentato da solo su Google?
http://stackoverflow.com/questions/2...e-with-the-api
Ho provato ma l output non e' il mio numero di telefono
Questo e' il codice:
import android.app.*;
import android.os.*;
import android.view.*;
import android.widget.*;
import android.telephony.*;
import android.content.Context;
import android.accounts.*;
public class MainActivity extends Activity
{
private TextView phoneNumber;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/*
TelephonyManager tMgr =(TelephonyManager)this.getSystemService(Context.T ELEPHONY_SERVICE);
String mPhoneNumber = tMgr.getLine1Number();
*/
phoneNumber = (TextView) findViewById(R.id.numberPhone);
TelephonyManager telemamanger = (TelephonyManager)getSystemService(Context.TELEPHO NY_SERVICE);
String getSimSerialNumber = telemamanger.getSimSerialNumber();
phoneNumber.setText(getSimSerialNumber);
Toast.makeText(getApplicationContext(),getMyPhoneN umberSimple(),Toast.LENGTH_LONG).show();
AccountManager am = AccountManager.get(this);
Account[] accounts = am.getAccounts();
for (Account ac : accounts) {
String acname = ac.name;
String actype = ac.type;
// Take your time to look at all available accounts
//System.out.println("Accounts : " + acname + ", " + actype);
if(actype.equals("com.whatsapp")){
String phoneNumber = ac.name;
Toast.makeText(getApplicationContext(),phoneNumber ,Toast.LENGTH_LONG).show();
}
}
}
public String getMyPhoneNumberSimple()
{
return ((TelephonyManager) getSystemService(TELEPHONY_SERVICE))
.getLine1Number();
}
private String getMyPhoneNumber(){
TelephonyManager mTelephonyMgr;
mTelephonyMgr = (TelephonyManager)
getSystemService(Context.TELEPHONY_SERVICE);
return mTelephonyMgr.getLine1Number();
}
private String getMy10DigitPhoneNumber(){
String s = getMyPhoneNumber();
return s.substring(2);
}
}
Permessi:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
Questo codice non mi restituisce il mio numero di telefono... Dov' e' l errore???
Inviato dal mio Galaxy Nexus usando Androidiani App
ZzzQuesto e' il codice:
import android.app.*;
import android.os.*;
import android.view.*;
import android.widget.*;
import android.telephony.*;
import android.content.Context;
import android.accounts.*;
public class MainActivity extends Activity
{
private TextView phoneNumber;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/*
TelephonyManager tMgr =(TelephonyManager)this.getSystemService(Context.T ELEPHONY_SERVICE);
String mPhoneNumber = tMgr.getLine1Number();
*/
phoneNumber = (TextView) findViewById(R.id.numberPhone);
TelephonyManager telemamanger = (TelephonyManager)getSystemService(Context.TELEPHO NY_SERVICE);
String getSimSerialNumber = telemamanger.getSimSerialNumber();
phoneNumber.setText(getSimSerialNumber);
Toast.makeText(getApplicationContext(),getMyPhoneN umberSimple(),Toast.LENGTH_LONG).show();
AccountManager am = AccountManager.get(this);
Account[] accounts = am.getAccounts();
for (Account ac : accounts) {
String acname = ac.name;
String actype = ac.type;
// Take your time to look at all available accounts
//System.out.println("Accounts : " + acname + ", " + actype);
if(actype.equals("com.whatsapp")){
String phoneNumber = ac.name;
Toast.makeText(getApplicationContext(),phoneNumber ,Toast.LENGTH_LONG).show();
}
}
}
public String getMyPhoneNumberSimple()
{
return ((TelephonyManager) getSystemService(TELEPHONY_SERVICE))
.getLine1Number();
}
private String getMyPhoneNumber(){
TelephonyManager mTelephonyMgr;
mTelephonyMgr = (TelephonyManager)
getSystemService(Context.TELEPHONY_SERVICE);
return mTelephonyMgr.getLine1Number();
}
private String getMy10DigitPhoneNumber(){
String s = getMyPhoneNumber();
return s.substring(2);
}
}
Permessi:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
Questo codice non mi restituisce il mio numero di telefono... Dov' e' l errore???
Inviato dal mio Galaxy Nexus usando Androidiani App
Come da documentazione ufficiale il metodo getLine1Number() ritorna una Stringa contenente il numero telefonico. Lo uso in una mia applicazione e funziona ma c'è da dire che il numero telefonico non è disponibile su tutte le SIM di tutti gli operatori telefonici perciò torna nulla. Per accertarti che sia così andando nelle Impostazioni > Info sul telefono > Stato dovresti avere Sconosciuto sul numero di telefono.