diff --git a/src/plugins/platforms/android/androidjniclipboard.cpp b/src/plugins/platforms/android/androidjniclipboard.cpp index 7b2c2c04436..b973fbe7d87 100644 --- a/src/plugins/platforms/android/androidjniclipboard.cpp +++ b/src/plugins/platforms/android/androidjniclipboard.cpp @@ -35,18 +35,6 @@ namespace QtAndroidClipboard void setClipboardMimeData(QMimeData *data) { clearClipboardData(); - if (data->hasText()) { - QJniObject::callStaticMethod(applicationClass(), - "setClipboardText", "(Ljava/lang/String;)V", - QJniObject::fromString(data->text()).object()); - } - if (data->hasHtml()) { - QJniObject::callStaticMethod(applicationClass(), - "setClipboardHtml", - "(Ljava/lang/String;Ljava/lang/String;)V", - QJniObject::fromString(data->text()).object(), - QJniObject::fromString(data->html()).object()); - } if (data->hasUrls()) { QList urls = data->urls(); for (const auto &u : qAsConst(urls)) { @@ -55,6 +43,16 @@ namespace QtAndroidClipboard "(Ljava/lang/String;)V", QJniObject::fromString(u.toEncoded()).object()); } + } else if (data->hasText()) { // hasText || hasUrls, so the order matter here. + QJniObject::callStaticMethod(applicationClass(), + "setClipboardText", "(Ljava/lang/String;)V", + QJniObject::fromString(data->text()).object()); + } else if (data->hasHtml()) { + QJniObject::callStaticMethod(applicationClass(), + "setClipboardHtml", + "(Ljava/lang/String;Ljava/lang/String;)V", + QJniObject::fromString(data->text()).object(), + QJniObject::fromString(data->html()).object()); } }