我想访问Application类中的TELEPHONY_SERVICE系统服务,但是当我运行它时我的应用程序崩溃了。
public class SimpleDhtApplication extends Application {
TelephonyManager tel = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
String portStr = tel.getLine1Number().substring(tel.getLine1Number().length() -4);
final String myPort = String.valueOf((Integer.parseInt(portStr) * 2));
}
我认为我没有正确访问上下文,有人可以帮忙!
答案 0 :(得分:3)
首先覆盖Application类的onCreate方法。在onCreate中,输入你拥有的代码,如下所示:
public class SimpleDhtApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
TelephonyManager tel = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
String portStr = tel.getLine1Number().substring(tel.getLine1Number().length() -4);
final String myPort = String.valueOf((Integer.parseInt(portStr) * 2));
}
}
更新:注意tel.getLine1Number();如here所述,它可能会返回null。