相关疑难解决方法(0)

Android Java和Phonegap Javascript之间的通信?

我相信可以从(PhoneGap)Javascript调用Java方法.

谁知道怎么做?(我知道如何通过更改PhoneGap的源代码来实现,但我会避免这种情况)

android cordova

81
推荐指数
5
解决办法
7万
查看次数

Android 4.2.1,WebView和javascript界面​​中断

我有一个添加了javascript界面​​的webview,在大多数设备上都能正常运行,除了那些运行Android 4.2.1的设备.

我删除了大部分代码,并保留了一个非常基本的代码:

this.webView.getSettings().setJavaScriptEnabled(true);
this.webView.setWebChromeClient(new WebChromeClient());
this.webView.addJavascriptInterface(new Object() {
    public void handshake() {
        Log.d("JS", "handshake no params");
    }

    public void handshake(String json) {
        Log.d("JS", "handshake with params: " + json);
    }
}, "Android");
Run Code Online (Sandbox Code Playgroud)

在javascript方面,测试代码如下所示:

Android.handshake();
Run Code Online (Sandbox Code Playgroud)

但是我在logcat中得到了这个:

E/Web控制台:未捕获TypeError:对象[对象对象]没有方法'握手'

同样,在我测试过的较旧的android os(<4.2.1)(最小版本为2.3.3)的设备中,这同样适用.

奇怪的是,如果我开始一个全新的项目,除了一个只有一个WebView的Activity,使用相同的代码,一切都可以正常工作,即使对于4.2.1,但当它是我的实际项目的一部分,事情中断.我正在使用的webview没有做任何事情,我提供的代码片段中没有包含这些内容.

对我来说最奇怪的是,javascript找到了Android对象,但它只是没有请求的方法(握手),怎么会这样呢?

任何帮助将不胜感激,因为这在过去的两周左右让我疯狂(这是一个我一直回去的错误,然后放弃等等).谢谢.

javascript android webview

34
推荐指数
1
解决办法
3万
查看次数

stringByEvaluatingJavascriptFromString(iOS方法,什么是Android等价?)

在iOS应用中,我使用过

stringFromJavaScript = [webView stringByEvaluatingJavascriptFromString:@"document.getElementById(\"image\").getAttribute(\"src")"];
Run Code Online (Sandbox Code Playgroud)

获取webView上显示的图像的src目录.我想为Android做同样的事情.我有什么选择?

基本上意图是捕获路径,以便我可以通过电子邮件发送同一张图片......

即.

"picture.php?image=%@",stringFromJavascript
Run Code Online (Sandbox Code Playgroud)

这样,当用户点击链接时,将加载相同的图像,或将其发布到Facebook等.

php java android ios

14
推荐指数
1
解决办法
7317
查看次数

标签 统计

android ×3

cordova ×1

ios ×1

java ×1

javascript ×1

php ×1

webview ×1