NDEVR
API Documentation
AndroidHelperFunctions.h
1#pragma once
2#include <NDEVR/StringView.h>
3namespace NDEVR
4{
10}
11#ifdef ANDROID
12#include <QObject>
13#include <QCoreApplication>
14#include <QtCore/qnativeinterface.h>
15 #ifdef ANDROID
16 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
17 #include <QtAndroidExtras>
18 #include <QAndroidJniObject>
19 #define JNIObject QAndroidJniObject
20 #else
21 //#include <QtCore/private/qandroidextras_p.h>
22 #include <QJniObject>
23 #define QtAndroid QtAndroidPrivate
24 #define JNIObject QJniObject
25 #endif
29 class Android
30 {
31 public:
36 static void RunOnMainThread(const std::function<void()> &runnable)
37 {
38 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
39 QtAndroid::runOnAndroidThread(runnable);
40 #else
41 QNativeInterface::QAndroidApplication::runOnAndroidMainThread(runnable);
42 #endif
43 }
48 static JNIObject MainActivity()
49 {
50 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
51 return QtAndroid::androidActivity();
52 #else
53 return JNIObject(QCoreApplication::instance()->nativeInterface<QNativeInterface::QAndroidApplication>()->context());
54 #endif
55 }
60 static constexpr StringView QtNativePath()
61 {
62 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
63 return "org/qtproject/qt5/android/QtNative";
64 #else
65 return "org/qtproject/qt/android/bindings/QtActivity";
66 #endif
67 }
72 static int SDKVersion()
73 {
74 return QJniObject::getStaticField<jint>(
75 "android/os/Build$VERSION",
76 "SDK_INT"
77 );
78 }
79 };
80 #endif
81#endif
Dummy class for API inclusion.
The primary namespace for the NDEVR SDK.