我正在尝试在 qt 中执行 java 文件,这是我的 java 文件代码:
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.Context;
public class Main extends AppWidgetProvider {
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
// TODO Auto-generated method stub
super.onUpdate(context, appWidgetManager, appWidgetIds);
}
}
问题是如何调用这个java文件,我很困惑,不知道如何调用函数onUpdate,有什么想法吗?
要在 Qt Android 应用程序中运行 Java 代码,您应该使用Qt Android 附加功能模块包含用于 Android 开发的附加功能。
您可以使用 JNI 从 C/C++ 调用 Java 函数或从 Java 回调 C/C++ 函数。
假设您有一个静态 Java 方法,例如:
package com.MyApp;
public class JavaClass
{
public static int SomeMethod(int n)
{
...
}
}
首先,您需要将其添加到您的 .pro 文件中:
QT += androidextras
并包含相关的头文件:
#include <QAndroidJniObject>
然后,您可以从 C++ 代码中调用静态 java 函数,如下所示:
bool retVal = QAndroidJniObject::callStaticMethod<jint>
("com/MyApp/JavaClass" // class name
, "SomeMethod" // method name
, "(I)I" // signature
, val);
更详细的解释你可以看看this.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)