javascript - JavascriptInterface在版本> 2.1上不起作用

标签 javascript android bind android-2.2-froyo

我设置了一个javascriptInterface,它允许我检索应用程序内的ie结操作(在Web视图中完成)的结果,然后显示适当的活动。
足够奇怪的是,它在某些设备上(在2.1中都没有问题)可以正常工作,但不适用于我拥有的银河S II(2.2)和《欲望》(2.3.3)。

我想知道这是来自库的问题还是我的应用程序的某些误解。

这是我的代码:

    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    webview.getSettings().setUserAgentString(iphone_user_agent);
    webview.getSettings().setJavaScriptEnabled(true);

    webview.addJavascriptInterface(new JavaScriptInterface(this), "android");

    webview.loadUrl(url_paiement+"?iphone_idsession="+xml.getSession().getIdsession());
}


而我的班级:

final class JavaScriptInterface {
    Context mContext;

    /** Instantiate the interface and set the context */
    JavaScriptInterface(Context c) {
        mContext = c;
    }

    /**
     * Function binded to webview javascript
     * Called via : window.android.sendResult('result');
     */
    public void sendResult(String result) {

        Log.d("JavascriptInterface","OK");

        //Error message depending on result
        if(result.equals("OK")){
            Toast.makeText(mContext, paiement_success, Toast.LENGTH_LONG).show();
            BaseActivity.paiment_ok = true;
            finish();
        }else if(result.equals("NOK" )){
            Toast.makeText(mContext, paiement_error, Toast.LENGTH_LONG).show();
            BaseActivity.paiment_error = true;
            finish();
        }else{ 
            Toast.makeText(mContext, paiement_error_server, Toast.LENGTH_LONG).show();
            BaseActivity.paiment_error = true;
            finish();
        }           
    }
}


此外,结果HTML页面中使用的代码如下:

<body onLoad="window.android.sendResult('OK or NOK here');">

最佳答案

似乎问题出在服务器端,它将某些设备重定向到不具有javascript功能的其他页面上。
(我已经在自己的服务器上的测试页上成功进行了测试,绝对没有问题)

关于javascript - JavascriptInterface在版本> 2.1上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6440771/

相关文章:

javascript - 如何从 CSV 文件制作气泡图?

android - 正确的 Android REST 客户端

java - 在 Android 中使用 ion 库将文件(多部分/表单数据)上传到服务器失败

android - 修改.mk文件时如何让NDK编译更多 "Intelligent"?

c# 将 winforms 图表绑定(bind)到对象列表

php - 如何将 Json 绑定(bind)到 Symfony2 中的实体

javascript - 在 AJAX 驱动的站点上选择和激活正确的控件

javascript - 使用 jquery/ajax 显示加载图像

javascript - 滚动页面时如何更快地移动 1 div/越过 div