2016-11-09 61 views
0

我想在MainActivity中聲明TelephonyManager而不是OnCreate。在OnCreate沒有問題,但是當我在MainActivity中使用時,它會給出空指針異常。 我的代碼的結構需要在MainActivity中聲明TelephonyManagerTelephonyManager在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 
} 
} 

如何解決這個問題?

+0

添加此'onCreate'部分 –

+0

因爲getApplicationContext()返回null,如果它在類級別使用 –

+0

我不應該添加onCrate。因爲我應該在MainActivity中給imei編號 –

回答

0

複製這一行到您的onCreate方法:

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

你是在擴展ActivityActivity延伸Context),這樣你就可以從你的類直接調用Context的方法的類。