就像是askedbefore,如果您有Android版你的Qt代码:如何获取运行Qt Android应用程序的本地活动的指针?
ANativeActivity* theActivity = <something>;
ANativeActivity_setWindowFlags(theActivity,
AWINDOW_FLAG_DISMISS_KEYGUARD, 0);
你怎么能获得一个指向本地活动运行你的Qt应用(应用<something>
位)?
谢谢!
就像是askedbefore,如果您有Android版你的Qt代码:如何获取运行Qt Android应用程序的本地活动的指针?
ANativeActivity* theActivity = <something>;
ANativeActivity_setWindowFlags(theActivity,
AWINDOW_FLAG_DISMISS_KEYGUARD, 0);
你怎么能获得一个指向本地活动运行你的Qt应用(应用<something>
位)?
谢谢!
如果你能得到一个指向Java QtActivity对象的C++指针,我不是很积极,因为它们生活在两个不同的世界。
但是,您可以通过使用从Qt 5.2开始可用的QAndroidJniObject来实现所需的功能。以下是大纲:
步骤1:使用名为setWindowFlag(int flag,int val)的函数创建一个名为MyCppClass的C++类。
步骤2:使用名为setActivity(Activity activity)的方法创建一个名为MyJavaClass的Java类。创建另一个名为setWindowFlag(int flag,int val)的方法,您可以在其中使用Android API设置窗口的标志。
第3步:在您的Java类QtActivity中,调用MyJavaClass.setActivity(this)。我在onCreate()方法和加载Qt应用程序之前执行此操作。
第4步:在MyCppClass中,使用QAndroidJniObject将C++函数setWindowFlag()绑定到Java方法MyJavaClass.setWindowFlag()。
更详细的信息可以在QAndroidJniObject的文档页面找到。