Java TelephonyManager在MainActivity中引发空指针异常
我想在Java TelephonyManager在MainActivity中引发空指针异常,java,android,nullpointerexception,telephonymanager,imei,Java,Android,Nullpointerexception,Telephonymanager,Imei,我想在main活动中声明TelephonyManager,而不是OnCreate。在OnCreate中没有问题,但是当我在MainActivity中使用时,它会给出一个空指针异常。 在main活动中声明TelephonyManager需要我的代码结构 public class MainActivity extends Activity { TelephonyManager mngr = (TelephonyManager) getApplicationContext().getSys
main活动中声明TelephonyManager
,而不是OnCreate
。在OnCreate
中没有问题,但是当我在MainActivity
中使用时,它会给出一个空指针异常。
在main活动
中声明TelephonyManager
需要我的代码结构
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
}
}
如何解决此问题?将此行复制到您的onCreate
方法中:
TelephonyManager manager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
您所在的类扩展了Activity
(Activity
扩展了Context
),因此您可以直接从类中调用Context
的方法。添加此onCreate
部分,因为getApplicationContext()
如果在类级别使用,则返回null。因为我应该在MainActivity中提供imei编号,所以您必须将mngr放在onCreate方法中