2016-11-09 1 views
0

Je souhaite déclarer TelephonyManager dans MainActivity et non OnCreate. En OnCreate il n'y a pas de problème mais quand j'utilise MainActivity il donne une exception de pointeur nul. La structure de mon code est nécessaire pour déclarer TelephonyManager dans MainActivity.TelephonyManager lève une exception de pointeur nul dans MainActivity

public class MainActivity extends Activity { 


    TelephonyManager mngr = (TelephonyManager) getApplicationContext().getSystemService(getApplicationContext().TELEPHONY_SERVICE);//Error line here. 
    String imei = mngr.getDeviceId(); 

protected void onCreate(Bundle savedInstanceState) { 
//My jobs 
} 
} 

Comment résoudre ce problème?

+0

ajouter cette section 'onCreate' –

+0

Parce que' getApplicationContext() 'renvoie null s'il est utilisé au niveau de la classe –

+0

Je ne devrais pas ajouter onCrate. Parce que je devrais donner un numéro imei dans MainActivity –

Répondre

0

Copiez cette ligne dans votre méthode onCreate:

TelephonyManager manager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 

Vous êtes dans une classe qui étend Activity (Activity étend Context), de sorte que vous pouvez appeler des méthodes de Context directement à partir de votre classe.