diff --git a/include/hardware_functions.h b/include/hardware_functions.h index 3fcb27c..05d3f2a 100644 --- a/include/hardware_functions.h +++ b/include/hardware_functions.h @@ -5,6 +5,10 @@ #include +#ifdef ANDROID +#include +#endif + QString get_hdid(); #endif // HARDWARE_FUNCTIONS_H diff --git a/src/hardware_functions.cpp b/src/hardware_functions.cpp index 4bd2399..233318e 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(), + QAndroidJniObject::fromString("android_id").object()); + return androidId.toString(); +} #elif QT_VERSION < QT_VERSION_CHECK(5, 11, 0) #if (defined(LINUX) || defined(__linux__))