我想在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
}
}
如何解决这个问题?
答案 0 :(得分:1)
将此行复制到onCreate
方法中:
TelephonyManager manager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
您所在的课程延伸Activity
(Activity
延伸Context
),因此您可以直接从班级拨打Context
方法。< / p>
答案 1 :(得分:0)
TelephonyManager manager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
您处于活动状态(活动扩展了上下文),因此您可以直接从您的类中调用Context的方法。