javascript - Android,如何将 Activity 参数插入JavaScript?

标签 javascript android

在我的应用程序中,我有一个充当登录表单的 Activity 。获取用户 ID 和密码后,我需要打开一个 URL。

该网页包括登录表单(还有用户 ID 和密码字段),当用户单击提交按钮时,由 Java 脚本函数处理的表单和表单内容将提交到服务器。

但是,我需要绕过显示此页面,而是加载 URL,将用户 ID 和密码放入参数中,并代表用户调用 JavaScript 的 doSubmit() 函数,最后获得服务器响应。

我有用户 ID 和密码,但我不知道如何将其插入 JavaScript。 这是我的代码:

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout_loginweb);

        Log.i(TAG, "Try to create activity...");

        WebView webView = (WebView) findViewById(R.id.webView);
        WebSettings webSettings = webView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webView.loadUrl(LOGINPAGE_URL);


        webView.addJavascriptInterface(new JavaScriptInterface(this), "Android");
    } 
}

public class JavaScriptInterface {
        Context mContext;

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

        /** Show a toast from the web page */
        public void showToast(String toast) {
            Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
    }
}

如有任何建议,我们将不胜感激。谢谢

最佳答案

在你的 Javascript 界面上添加一些像这样的方法:

public String getUserId() {
        //return userId value here
    }

public String getPassword() {
        //return password value here
    }

从 JavaScript 端:

//Startup stuff
$(document).ready(function(e) { 
    var userId = Android.getUserId();
    var password = Android.getPassword();

  $("#idofuserIdField").val(userId);
$("#idofPasswordField").val(password);

//callSubmitFunctionHere
});

关于javascript - Android,如何将 Activity 参数插入JavaScript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12069962/

相关文章:

Android Studio 无法解析任何符号

javascript - 为数组中的每个对象调用内部方法

javascript - 数组 forEach() 与 reduce()

java - 如何设置TextView边框的阴影

java - 在Android中获取用户的 "other"Google联系人

android - 当我想将现有的 Activity 放在前面时, Activity 正在再次创建

javascript - 使用 jQuery-Smooth-Scroll 从一页到另一页?

javascript - html 禁用的文本字段应该允许由 javascript 进行的更改

javascript - float 标签

android - 如何处理服务器连接错误和Internet连接错误,并在 Volley android中为每个显示不同的消息?