【发布时间】:2016-12-05 04:47:58
【问题描述】:
当我在手机上启动应用程序时,服务的 onCreate 在不到一秒的时间内被调用了 3-4 次。
另一方面,oncreate 设置为启动一个线程派生类,该类在 logcat 上打印设备的网络 ip。
奇怪的是,每次调用 oncreate 都会随机给出实际 ip (192.168.1.xxx) 或环回 (127.0.0.1)
@Override
public void onCreate() {
super.onCreate();
TheService=this;
chargingState = GetChargingState();
if(mainActivity!=null)
mainActivity.UpdateDisplay(chargingState);
IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
registerReceiver(new ChargingStateListener(),ifilter);
new NetworkHandler().findServer();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_STICKY;
}
线程类中获取IP的函数
public String GetOwnIPAddress()
{
try {
return InetAddress.getLocalHost().getHostAddress();
} catch (UnknownHostException e) {
e.printStackTrace();
}
return null;
}
【问题讨论】:
标签: java android networking ip-address