diff --git a/src/androidextras/android/qandroidintent.cpp b/src/androidextras/android/qandroidintent.cpp
index 318b5763a405c591922a797692600d74025bf794..5c89b895e529f67cfbe676510d20a07882d43d0c 100644
--- a/src/androidextras/android/qandroidintent.cpp
+++ b/src/androidextras/android/qandroidintent.cpp
@@ -125,6 +125,8 @@ QByteArray QAndroidIntent::extraBytes(const QString &key)
     QAndroidJniExceptionCleaner cleaner;
     auto array = m_handle.callObjectMethod("getByteArrayExtra", "(Ljava/lang/String;)[B",
                                            QAndroidJniObject::fromString(key).object());
+    if (!array.isValid() || !array.object())
+        return QByteArray();
     QAndroidJniEnvironment env;
     auto sz = env->GetArrayLength(jarray(array.object()));
     QByteArray res(sz, Qt::Initialization::Uninitialized);