Бит ландшафта работает, бит тайм -аута экрана не является, даже если весь код проходит проверку isvalid ().
Код: Выделить всё
#ifdef ANDROID
int a=0,b=0,c=0,d=0;
QJniObject wakeLock;
QJniObject activity = QNativeInterface::QAndroidApplication::context();
if(activity.isValid())
{
a=1;
activity.callMethod("setRequestedOrientation", "(I)V", 0);
QJniObject serviceName = QJniObject::getStaticObjectField("android/content/Context","POWER_SERVICE");
if ( serviceName.isValid() )
{
b=1;
QJniObject powerMgr = activity.callObjectMethod("getSystemService", "(Ljava/lang/String;)Ljava/lang/Object;",serviceName.object());
if ( powerMgr.isValid() )
{
c=1;
jint levelAndFlags = QJniObject::getStaticField("android/os/PowerManager","SCREEN_DIM_WAKE_LOCK");
QJniObject tag = QJniObject::fromString( "My Tag" );
wakeLock = powerMgr.callObjectMethod("newWakeLock", "(ILjava/lang/String;)Landroid/os/PowerManager$WakeLock;", levelAndFlags,tag.object());
if ( wakeLock.isValid() )
{
d=1;
wakeLock.callMethod("acquire", "()V");
}
}
}
}
#endif
Спасибо
Подробнее здесь: https://stackoverflow.com/questions/797 ... on-android
Мобильная версия