aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/hardware_functions.h4
-rw-r--r--src/hardware_functions.cpp10
2 files changed, 14 insertions, 0 deletions
diff --git a/include/hardware_functions.h b/include/hardware_functions.h
index 3fcb27cb..05d3f2af 100644
--- a/include/hardware_functions.h
+++ b/include/hardware_functions.h
@@ -5,6 +5,10 @@
#include <stdio.h>
+#ifdef ANDROID
+#include <QtAndroidExtras/QtAndroid>
+#endif
+
QString get_hdid();
#endif // HARDWARE_FUNCTIONS_H
diff --git a/src/hardware_functions.cpp b/src/hardware_functions.cpp
index 4bd23997..233318e2 100644
--- a/src/hardware_functions.cpp
+++ b/src/hardware_functions.cpp
@@ -38,6 +38,16 @@ QString get_hdid()
CloseHandle(hToken);
return returnHDID;
}
+#elif defined(ANDROID)
+QString get_hdid()
+{
+ QAndroidJniObject appctx = QAndroidJniObject::callStaticObjectMethod("org/qtproject/qt5/android/QtNative", "activity", "()Landroid/app/Activity;").callObjectMethod("getApplicationContext","()Landroid/content/Context;");
+ QAndroidJniObject androidId = QAndroidJniObject::callStaticObjectMethod("android/provider/Settings$Secure","getString",
+ "(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;",
+ appctx.callObjectMethod("getContentResolver", "()Landroid/content/ContentResolver;").object<jobject>(),
+ QAndroidJniObject::fromString("android_id").object<jstring>());
+ return androidId.toString();
+}
#elif QT_VERSION < QT_VERSION_CHECK(5, 11, 0)
#if (defined(LINUX) || defined(__linux__))