2023-01-21 271
我正在尝试在C ++侧的Java方法调用上显示敬酒
我已经设法称呼该方法,甚至得到字符串,但吐司行不通,我尝试了几乎所有用上下文和所有
尝试
c ++ side
JavaVMAttachArgs args = { JNI_VERSION_1_6, NULL, NULL };
vm->AttachCurrentThread( &env, &args );
activityConstructor = env->GetMethodID(activity, "<init>", "()V");
jobject object = env->NewObject(activity, activityConstructor);
toastID = env->GetMethodID(activity, "toast", "(Ljava/lang/String;)V");
qDebug() << "Moving";
jstring message1 = env->NewStringUTF("This comes from jni.");
qDebug()<< "Test" << message1;
env->CallVoidMethod(object, toastID, message1);
java side
public void toast(String message){
messageData = message;
Log.d(TAG, message);
new Thread()
{
public void run()
{
esActivity.this.runOnUiThread(new Runnable(){
public void run(){
Log.d("Message in UIThread", messageData);
Toast.makeText(context, messageData, Toast.LENGTH_SHORT).show();
}
});
}
}.start();
}
我在消息中gettin string值,但此吐司没有显示任何内容
任何想法都将不胜感激.
深入分析我的代码后,我在代码中弄清楚了问题.希望这个答案对将来的人有所帮助.
这是JNI呼叫中的JNI呼叫中的问题,用于Java方法.我不得不称DetachCurrentThread()为jni中,本机线仍然连接到VM,并且它留在本机方法中.改进的正确代码是
JavaVMAttachArgs args = { JNI_VERSION_1_6, NULL, NULL };
vm->AttachCurrentThread( &env, &args );
activityConstructor = env->GetMethodID(activity, "<init>", "()V");
jobject object = env->NewObject(activity, activityConstructor);
toastID = env->GetMethodID(activity, "toast", "(Ljava/lang/String;)V");
qDebug() << "Moving";
jstring message1 = env->NewStringUTF("This comes from jni.");
qDebug()<< "Test" << message1;
env->CallVoidMethod(object, toastID, message1);
vm->DetachCurrentThread();
以上所述是小编给大家介绍的通过在QT中从C ++ JNI发送字符串在Android中显示吐司,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/26221.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态