TelephonyManager在MainActivity

时间:2016-11-09 11:21:25

标签: java android nullpointerexception telephonymanager imei

我想在TelephonyManager而不是MainActivity中声明OnCreate。在OnCreate中没有问题但是当我在MainActivity中使用时,它会给出一个空指针异常。 我的代码结构需要在TelephonyManager中声明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
}
}

如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

将此行复制到onCreate方法中:

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

您所在的课程延伸ActivityActivity延伸Context),因此您可以直接从班级拨打Context方法。< / p>

答案 1 :(得分:0)

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

您处于活动状态(活动扩展了上下文),因此您可以直接从您的类中调用Context的方法。