在android中更改特定页面的方向

Elj*_*jay 2 c++ java qt android qtandroidextras

我正在使用 Qt 和 C++ 开发一个 android 应用程序。我的整个应用程序都有纵向。但是当我播放视频时,我想将方向更改为横向,视频结束后它应该再次更改为纵向。

所以问题是如何在适用于 Android 的 Qt/C++ 应用程序中将屏幕设置为横向或纵向模式。

S.M*_*avi 6

您不需要通过 Java 代码调用它。您可以使用 JNI 从 C++ 直接调用它,如下所示:

void MyAndroidHelperClass::setScreenOrientation(int orientation)
{
    QAndroidJniObject activity = QAndroidJniObject::callStaticObjectMethod("org/qtproject/qt5/android/QtNative", "activity", "()Landroid/app/Activity;");
    if ( activity.isValid() )
    {
        activity.callMethod<void>
                ("setRequestedOrientation" // method name
                 , "(I)V" // signature
                 , orientation);
    }
}
Run Code Online (Sandbox Code Playgroud)