Обозреватель контента вызывался дважды для получения смс

Привет, я разрабатываю приложение для Android SMS, в котором я использую ContentObserver, чтобы узнать входящее сообщение, похожее на эту ссылку.

http://rdcworld-android.blogspot.in/2011/10/listen-sms-mms-programmatically-android.html

Мне нужно получить количество полученных SMS. Но метод ContentObserver onChange вызывается дважды, и я не могу получить правильное количество полученных SMS. Как мне это решить

Пожалуйста, помогите. Спасибо!


person sanjana    schedule 26.09.2013    source источник


Ответы (1)


Это как-то связано с тем, что при поступлении SMS оно срабатывает, а затем снова, когда оно синхронизируется с базовой базой данных (базами данных). Лучшее решение, которое я нашел, реализовать способ игнорировать второй вызов:

Long theDT = System.currentTimeMillis();
Long nextAM = Long.valueOf(1000);  //Use a 1 second minimum delay to avoid repeated calls
Long lastAM = preferences.getLong("lastAM", 0);
if ((lastAM + nextAM) < theDT1){
    SharedPreferences.Editor editor = preferences.edit();
    editor.putLong("lastAM", theDT); // value to store
    editor.commit();

    // DO WHAT YOU NEED TO DO HERE
}
person Di Vero Labs    schedule 26.09.2013