simple_mtglife

annotate main.cc @ 6:9e3e14ed98eb

android: keep from sleeping while the app is active
author John Tsiombikas <nuclear@member.fsf.org>
date Mon, 16 Feb 2015 05:46:07 +0200
parents 6321cfa2ad62
children
rev   line source
nuclear@0 1 #include "mainwin.h"
nuclear@0 2 #include <QApplication>
nuclear@0 3
nuclear@6 4 static void keep_screen_on();
nuclear@6 5
nuclear@0 6 int main(int argc, char *argv[])
nuclear@0 7 {
nuclear@0 8 QApplication a(argc, argv);
nuclear@0 9 MainWin w;
nuclear@0 10 w.show();
nuclear@0 11
nuclear@6 12 keep_screen_on();
nuclear@6 13
nuclear@0 14 return a.exec();
nuclear@0 15 }
nuclear@6 16
nuclear@6 17 #ifdef ANDROID
nuclear@6 18 #include <QtAndroid>
nuclear@6 19 #include <QAndroidJniObject>
nuclear@6 20
nuclear@6 21 static void keep_screen_on()
nuclear@6 22 {
nuclear@6 23 QAndroidJniObject activity = QtAndroid::androidActivity();
nuclear@6 24 if(activity.isValid()) {
nuclear@6 25 QAndroidJniObject window = activity.callObjectMethod("getWindow", "()Landroid/view/Window;");
nuclear@6 26
nuclear@6 27 if(window.isValid()) {
nuclear@6 28 const int FLAG_KEEP_SCREEN_ON = 128;
nuclear@6 29 window.callObjectMethod("addFlags", "(I)V", FLAG_KEEP_SCREEN_ON);
nuclear@6 30 }
nuclear@6 31 }
nuclear@6 32 }
nuclear@6 33 #else
nuclear@6 34 static void keep_screen_on()
nuclear@6 35 {
nuclear@6 36 }
nuclear@6 37 #endif