Phonegap ChildBrowser插件:禁用/隐藏位置栏中的URL,但不是后退/前进/退出按钮

use*_*000 5 android phonegap-plugins cordova

有没有办法隐藏或禁用位置栏中的URL字段?在我的情况下,设备是作为信息亭浏览器运行的平板电脑,因此只允许一个URL.

我通过将ChildBrowser.java中的代码更改为来修复此问题

private void navigate(String url) {
    InputMethodManager imm = (InputMethodManager)this.ctx.getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(edittext.getWindowToken(), 0);
    if (!url.startsWith("http")) {
        this.webview.loadUrl("http://" + url);
    }
    this.webview.loadUrl("http://www.my-only-allowed-site.example.org");
    this.webview.requestFocus();
}
Run Code Online (Sandbox Code Playgroud)

这很好用,但不是很好.您仍然可以看到该网址.我希望有这些可能的解决方案:
1)完全隐藏URL字段
2)在点击URL字段时隐藏软键盘
3)将URL字体颜色设置为黑色

任何的想法?
提前致谢

Squ*_*onk 0

我对 Phonegap 一无所知,但我假设您使用的是标准 Android WebView

如果您看到 URL 栏,则通常意味着正在调用默认系统浏览器来处理页面的加载。为了防止这种情况,设置WebViewClient如下......

this.webview.setWebViewClient(new WebViewClient() {
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        return false;
    }
});
Run Code Online (Sandbox Code Playgroud)

shouldOverrideUrlLoading(...)方法由主机应用程序调用,以查看是否应该通过使用活动管理器来查找合适的应用程序(通常是常用浏览器应用程序)来覆盖加载。返回false意味着WebView实例想要处理自己的 URL 加载,并且您根本不会看到 URL 栏。

编辑:如果这解决了问题,但也失去了导航按钮,那么我建议您维护自己的历史记录集合并提供自己的后退/前进/退出按钮。