Необходимо поместить HTML текст в буфер обмена с меткой (чтобы определить, что копирование пришло из нашего приложения). На большинстве устройств приведенный ниже код работает правильно. Однако в LG-V490 встроенный буфер обмена игнорирует как тег, так и тот факт, что для копирования используется HTML, а не обычный текст. Есть ли способы получить доступ к этому встроенному буферу? На устройствах Samsung все работает правильно. При копировании:
ClipboardManager clipboardManager;
clipboardManager = (ClipboardManager) getContext().getSystemService(Context.CLIPBOARD_SERVICE);
if (item.getItemId() == android.R.id.copy) {
...
ClipData myClip = ClipData.newHtmlText("RTText", rtText.getText(selectedText),rtHtml.getText());
clipboardManager.setPrimaryClip(myClip);
mode.finish();
return true;
}
При вставке:
if (item.getItemId() == android.R.id.paste) {
String clipLabel = "default";
if (clipboardManager.getPrimaryClip().getDescription().getLabel() != null) {
clipLabel = clipboardManager.getPrimaryClip().getDescription().getLabel().toString();
}
ClipData abc = clipboardManager.getPrimaryClip();
ClipData.Item clipDataItem = abc.getItemAt(0);
...
String content;
if (clipLabel.equals("RTText")) {
content = rtHtml1.getText() + clipDataItem.getHtmlText() + rtHtml2.getText();
} else {
// on problem devices only the code of this branch is executed
}
...
mode.finish();
return true;
}
Дополнительная проверка clipDataItem.getHtmlText ()! = Null
на проблемных устройствах дает false