Невозможно получить правильный месяц для звонка из истории звонков - PullRequest
0 голосов
/ 11 июня 2010

Пытаюсь извлечь информацию из журнала звонков андроида.Я получаю дату звонка, который на месяц позже фактического времени звонка.Я хочу сказать, что информация, извлеченная моим кодом для даты звонка, на один месяц меньше, чем фактическая дата звонка.

В эмуляторе есть следующее:

Я сохранил контакт,Затем я позвонил контакту.

Код:

У меня есть 3 способа извлечь информацию о дате звонка, но получить тот же неправильный результат.Мой код выглядит следующим образом:

/*  Make the query to call log content */
Cursor callLogResult = context.getContentResolver().query(
    CallLog.Calls.CONTENT_URI, null, null,  null, null);

int columnIndex =  callLogResult.getColumnIndex(Calls.DATE);
Long timeInResult = callLogResult.getLong(columnIndex);

/* Method 1 to change the milliseconds obtained to the readable date formate */
            Time time = new Time();
            time.toMillis(true);
            time.set(timeInResult);

String callDate= time.monthDay+"-"+time.month+"-"+time.year;


/*  Method 2 for extracting the date from tha value read from the column */

           Calendar calendar =  Calendar.getInstance();
           calendar.setTimeInMillis(time);
           String  Month = calendar.get(Calendar.MONTH) ;

/* Method 3 for extracting date from the result obtained  */

          Date date = new Date(timeInResult);
          String mont = date.getMonth()

При использовании метода Calendar я также пытался установить смещение сохранения DayLight, но оно не сработало,

      calendar.setTimeZone(TimeZone.getTimeZone("Europe/Paris"));
      int DST_OFFSET = calendar.get(  Calendar.DST_OFFSET );   // DST_OFFSET

      Boolean isSet = calendar.getTimeZone().useDaylightTime();

      if(isSet)
      calendar.set(Calendar.DST_OFFSET , 0);

      int reCheck = calendar.get(Calendar.DST_OFFSET );

Но значение не установленодо 0 в перепроверке.Я также получаю неправильное значение месяца, используя это.

Пожалуйста, кто-нибудь, помогите мне, где я не прав?или это ошибка в эмуляторе ??

Спасибо, Нишант Кумар, студент инженерного факультета

Ответы [ 2 ]

1 голос
/ 18 февраля 2011

Месяцы Каландара - от 0 до 11 Вам нужно добавить 1 к месяцу, который дает вам Каладар.Я знаю, это странно.

0 голосов
/ 11 июня 2010

Попробуйте new Date(timeInResult);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...