gpt4 book ai didi

android - 如何正确更新这个 cordova 插件? (执行() CallbackContext PluginResult)

转载 作者:行者123 更新时间:2023-11-29 21:45:29 25 4
gpt4 key购买 nike

我正在尝试更新在 github 上找到的一个尚未更新的插件 (AdMob)

https://github.com/rajpara11/phonegap-plugins/blob/master/Android/AdMobPlugin/AdMobPlugin.java

相关代码是有效的,但需要一些修复:

public boolean execute(String action, JSONArray inputs, CallbackContext callbackContext)
{
PluginResult result = null;

if (ACTION_CREATE_BANNER_VIEW.equals(action)) {
result = this.executeCreateBannerView(inputs);
} else if (ACTION_REQUEST_AD.equals(action)) {
result = executeRequestAd(inputs);
} else {
Log.d(LOGTAG, String.format("Invalid action passed: %s", action));
callbackContext.error(String.format("Invalid action passed: %s", action));
}

// ...

}

我需要添加的是检查 result 变量,我想做这样的事情

if(result == PluginResult.Status.OK)
{
callbackContext.success();
return true;
}
return false;

但它当然不会起作用...我怎样才能正确更新它?文档没有帮助,

我的 Java 还不够忍者 :(

提前谢谢你

最佳答案

我在核心插件中看到的方法是在你的类的开头有一个私有(private)的 CallbackContext 变量,然后在你的 execute() 中,设置 this.callbackContext = callbackContext 现在您可以使用 execute() 方法比较操作字符串的值并委托(delegate)给您的私有(private)方法。在这些方法中,您将执行 callbackContext.sendPluginResult(...)。根据操作是否有效,您在 execute() 中返回 true 或 false。

所以我认为它应该是这样的:

public boolean execute(String action, JSONArray inputs, CallbackContext callbackContext)
{
this.callbackContext = callbackContext;

if (ACTION_CREATE_BANNER_VIEW.equals(action)) {
this.executeCreateBannerView(inputs);
return true; // return true because this is a valid action
} else if (ACTION_REQUEST_AD.equals(action)) {
executeRequestAd(inputs);
return true;
} else {
Log.d(LOGTAG, String.format("Invalid action passed: %s", action));
return false;
// could possibly do the following to send NO_RESULT:
// callbackContext.sendPluginResult(newPluginResult.Status.NO_RESULT));
}
}

然后是:

private void executeCreateBannerView(inputs){
//after doing all of your work:
callbackContext.success();
// or callbackContext.sendPluginResult() to pass data back

}

希望这对您有所帮助。

关于android - 如何正确更新这个 cordova 插件? (执行() CallbackContext PluginResult),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15951924/

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