ClipboardManager OnPrimaryClipChangedListener вызывается дважды для каждой копии

Когда я копирую текст в буфер обмена, метод onPrimaryClipChanged вызывается дважды. Есть идеи почему?

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
    final ClipboardManager cliboardManager = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);

    cliboardManager
            .addPrimaryClipChangedListener(new OnPrimaryClipChangedListener() {

                @Override
                public void onPrimaryClipChanged() {
                    ClipData clipData = cliboardManager.getPrimaryClip();
                    System.out
                            .println("********** clip changed, clipData: "
                                    + clipData.getItemAt(0));
                }
            });
    return true;
}

Тестовый пример: копирование текста «продолжить» с веб-сайта BBC приведет к следующему выводу:

Продолжить

Продолжить

Но если я отлаживаю программу, я вижу, что объект clipData имеет значение:

ClipData {text / plain {T: continue}}

первый раз onPrimaryClipChanged () вызывается и

ClipData {text / plain "BBC - домашняя страница" {T: continue}}

в следующий раз вызывается onPrimaryClipChanged ().

Таким образом, первый раз ClipDescription - это {text / plain}, а второй раз - ClipDescription {text / plain "BBC - домашняя страница"} (т.е. включая заголовок веб-страницы).

Ответы на вопрос(4)

Ваш ответ на вопрос