gpt4 book ai didi

javascript - 如何从 android fragment 调用 javascript 函数?

转载 作者:行者123 更新时间:2023-11-29 00:24:27 26 4
gpt4 key购买 nike

我在 fragment 中有一个 webview 并且有我自己的 Bridgecallback 服务。

我有一个 javascript 文件 TriggerEventsService.js

define(function(require){

var Service = require('BridgeService');
var TriggerEventsService = new Service({
name: "TriggerEventsService",
timeout : 3000
});

//Public API
TriggerEventsService.postHibernate = function(){
this.execute("postHibernate", {"event" : "App becoming inactive"}, function(){}, function(){});
};

在我的 HTML 文件 index.html

  function postEventHibernate(){
require(['TriggerEventsService'], function(ui){
ui.postHibernate();
});
}

我可以直接从原生 android 方法调用这个函数吗?

iOS 中我这样做了:

    NSString *jsString = [NSString stringWithFormat:@"require(['TriggerEventsService'],
function(ui){ui.postHibernate();});"];
         [self.webView evaluateJavaScript:jsString completionHandler:nil];

它工作正常!我知道在 iOS 中做这件事的方法,想知道如果 android 有任何直接方法,任何人都可以帮助我吗?

我看过其他答案,但不确定如何调用我的 TriggerEventsService.js - webview.loadUrl("我到底应该在这里调用什么?");

最佳答案

I have seen other Answers but was not sure how to call the my TriggerEventsService.js - webview.loadUrl("WHAT EXACTLY SHOULD I CALL HERE ?");

假设 postEventHibernate() 是一个全局 JavaScript 函数,这将是:

webview.loadUrl("javascript:postEventHibernate();");

FWIW,这包含在 my book 中, 虽然大多数这种特定 Material 都在 the preview edition of my advanced WebView chapter 中.

关于javascript - 如何从 android fragment 调用 javascript 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43454976/

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