gpt4 book ai didi

javascript - 使用对象参数将javascript代码绑定(bind)到android代码

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:39:05 25 4
gpt4 key购买 nike

如标题所示,我正在尝试将 javascript 代码绑定(bind)到我的 Android 应用程序,以便我可以在我的应用程序中对我的网站发送的事件/消息使用react。

看完官方android documentation与 javascript 绑定(bind)相关,我设法轻松实现了它。只要它是一个字符串。

什么工作正常?我在我的应用程序中实现了以下代码:

/** Instantiate the interface and set the context  */
class ClientInterface(private val mContext: Context) {

/** Show a toast from the web page */
@JavascriptInterface
fun postMessage(message: String) {
Toast.makeText(mContext, message, Toast.LENGTH_SHORT).show()
}
}

如果“postMessage”函数的参数是一个字符串,并且我从我的 javascript 中传递一个字符串作为参数,那么一切都很好。它正在传递字符串。我的问题是我试图获取 JSONObject 而不是 String,但它不起作用。我尝试转换所有我认为可能有用的东西.. JSONObject/JSONObject?/任何/任何?/对象/对象?等等..

当我在我的 javascript 上发送对象时,似乎没有任何效果。我在我的应用程序中得到的只是一个空响应。

有人试过类似的东西吗?我错过了什么?

P.S - 这是我的 javascript 代码以供引用:

var objectMessage = {
type: "quote",
code: "My name is Inigo Montoya. You killed my father, prepare to die!"
}

window.CLIENT.postMessage(objectMessage);

最佳答案

你不能只传递原始对象!所以你需要对你的对象进行字符串化。

var objectMessage = {
type: "quote",
code: "My name is Inigo Montoya. You killed my father, prepare to die!"
}

window.CLIENT.postMessage(JSON.stringify(objectMessage));

关于javascript - 使用对象参数将javascript代码绑定(bind)到android代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56631152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com