Итак, я писал код, чтобы сэкономить время, проведенное в сети Wi-Fi. Я почти там, за исключением того, что время не спасается правильно.
Этот объект получает широковещательную рассылку, после чего он проверяет, подключен ли он к точке доступа Wi-Fi. Он получает объект Date с моментом подключения. После отключения он получает дату, когда соединение было прервано.
Однако, когда он регистрирует дату начала и окончания, он всегда, кажется, получает текущую дату, также для стартового объекта:
private Date startDate;
private Date stopDate;
@Override
public void onReceive(Context context, Intent intent) {
if (isOnline(context)) {
WifiManager wifiManager = (WifiManager) context
.getSystemService(Context.WIFI_SERVICE);
android.net.wifi.WifiInfo wifiInfo = wifiManager
.getConnectionInfo();
Log.d("WIFI:", "IN FIRST IF, SO CONNECTED");
if (wifiInfo.getSupplicantState() == (SupplicantState.COMPLETED)) {
Calendar c = Calendar.getInstance();
this.startDate = c.getTime();
this.initialConnection = true;
}
} else if (this.initialConnection) {
Calendar d = Calendar.getInstance();
this.stopDate = d.getTime();
//problem persists here
String s = "TIME:" + d.getTime().toString() + " started at:"
+ startDate.toString() + "stopped at"
+ this.stopDate.toString();
Log.d("WIFI:", s);
this.initialConnection = false;
}
}
выход
D/WIFI: ( 684): TIME:Mon Mar 12 13:18:16 GMT+02:00 2012 started at:Mon Mar 12 13:18:16 GMT+02:00 2012stopped atMon Mar 12 13:18:16 GMT+02:00 2012
Получает ли мой startTime текущее время, когда оно упоминается? Как я могу сохранить startTime?