可以使用
setRequestedOrientationJava函数更改Android上的屏幕方向,因此您应该从应用中调用Java函数。要在Qt
Android应用程序中运行Java代码,您应该使用Qt Android
Extras模块,该模块包含用于在Android上进行开发的其他功能。
您可以使用JNI从C / C 调用Java函数或从Java回调C / C 函数。
在这里,您可以在静态Java方法中使用它,例如:
package com.MyApp;public class OrientationChanger{ public static int change(int n) { switch(n) { case 0: setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); break; case 1: setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); break; } }}
首先,您需要将此添加到您的.pro文件中:
QT += androidextras
并包括相关的头文件:
#include <QAndroidJniObject>
然后,您可以从C ++代码中调用此静态Java函数。
要将方向更改为横向模式:
bool retVal = QAndroidJniObject::callStaticMethod<jint> ("com/MyApp/OrientationChanger" // class name , "change" // method name , "(I)I" // signature , 0);
要将方向更改为纵向模式:
bool retVal = QAndroidJniObject::callStaticMethod<jint> ("com/MyApp/OrientationChanger" // class name , "change" // method name , "(I)I" // signature , 1);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)