Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Android Web控制台未捕获引用错误_Javascript_Android_Android Webview - Fatal编程技术网

Javascript Android Web控制台未捕获引用错误

Javascript Android Web控制台未捕获引用错误,javascript,android,android-webview,Javascript,Android,Android Webview,我正在通过Web视图中加载的java脚本调用一个本机android函数,但不起作用 下面是我对WebView所做的 paintView = (WebView) findViewById(R.id.webView1); WebSettings Websettings = paintView.getSettings(); Websettings.setBuiltInZoomControls(true); Websettings.setSupportZoom(true); Websettings.se

我正在通过Web视图中加载的java脚本调用一个本机android函数,但不起作用 下面是我对WebView所做的

paintView = (WebView) findViewById(R.id.webView1);
WebSettings Websettings = paintView.getSettings();
Websettings.setBuiltInZoomControls(true);
Websettings.setSupportZoom(true);
Websettings.setJavaScriptEnabled(true);
Websettings.setBuiltInZoomControls(true);
Websettings.setRenderPriority(RenderPriority.HIGH);
paintView.getSettings().setPluginState(PluginState.ON);
paintView.setWebChromeClient(new WebChromeClient());
final MyJavaScriptInterface myJavaScriptInterface = new MyJavaScriptInterface(this);
paintView.loadUrl("file:///android_asset/index_jQueryMobile.html");
这里是android方法

@JavascriptInterface
public void byteToImage(String base64img, String ImageName) throws IOException
{
    byte[] pdfAsBytes = Base64.decode(base64img.toString(), 0);
    File file = new File(Environment.getExternalStorageDirectory()+"/AndroPaint");
    if(!file.exists()) {
        file.mkdirs();
    }
    File filePath = new File(Environment.getExternalStorageDirectory()+"/AndroPaint/"+ImageName+".png");
    FileOutputStream os = new FileOutputStream(filePath, true);
    os.write(pdfAsBytes);
    os.flush();
    os.close();
}
这里是JS函数

function getImageBytes()
{
    var canvas = document.getElementById('canvas');
    var imageName = document.getElementById('imgName');
    var imgData= canvas.toDataURL();
    activity.byteToImage(imgData,imageName);
}
这是个例外

01-04 10:48:50.409: E/Web Console(15681): Uncaught ReferenceError: activity is not defined:72

您创建了一个连接接口
MyJavaScriptInterface
,但忘记将其附加到
WebView

paintView.addJavascriptInterface(new MyJavaScriptInterface(this), "activity");
这就是为什么您得到的
活动未定义
错误<
JS
引擎找不到code>activity
对象

这是一个小教程