Phonegap 2.1.0到Cordova 3.5.1 loadurl无法正常工作

时间:2014-10-14 01:44:13

标签: android cordova

几周前,我收到了谷歌的电子邮件,建议我将应用程序升级到3.5.1,否则可能会导致应用程序被删除。

我的应用程序是特定于Android的,我在Android Studio中构建它,所以我已经包含了更新的.jar文件并更新了.js以及所有这些内容。

在浏览我自己的html页面时,一切似乎都很好,但在打开外部网页时我遇到了麻烦。

public class MyActivity extends CordovaActivity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    loadUrl(getString(R.string.indexURL));
}

@Override
public void init() {
    final String os = "Android";
    final String version = getVersion();
    CordovaWebView webView = new CordovaWebView(this);

    init(webView, new CordovaWebViewClient(this, webView) {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            super.onPageFinished(view, url);
            boolean redirected = false;
            //If the page you're accessing is the root or login page
            if (url.endsWith("/Login")) {
                //redirect to root page with query string
                appView.loadUrl((getString(R.string.mainURL) + "?os=" + os + "&version=" + version));
                redirected = true;
            }
            return redirected;
        }
    }, new CordovaChromeClient(this, webView));
}

一旦我升级,我就用谷歌分析插件做了一些评论,我使用和测试了我的外部网址并没有加载。 MyActivity正在从DroidGap扩展,因此我将其更新为从CordovaActivity扩展,但同样的问题正在应用。我可以看到它击中了Url重定向代码,之后它没有做任何事情。

10-14 12:28:46.166  10958-10958/com.example.Example D/CordovaWebView﹕ >>> loadUrl(https://www.MyWebsite.com.au/Login/?os=Android&version=2.0.0)
10-14 12:28:46.166  10958-10958/com.example.Example D/PluginManager﹕ init()
10-14 12:28:46.166  10958-10958/com.example.Example D/CordovaWebView﹕ >>> loadUrlNow()
10-14 12:29:06.166  10958-10958/com.example.Example E/CordovaWebView﹕ CordovaWebView: TIMEOUT ERROR!

有什么突出的错误吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

问题是config.xml采用错误格式与<plugin>标记而非<feature>标记的组合。

也改变了

if (url.endsWith("/Login")) {
            //redirect to root page with query string
            appView.loadUrl((getString(R.string.mainURL) + "?os=" + os + "&version=" + version));
            redirected = true;
        }

if (url.endsWith("/Login")) {
            //redirect to root page with query string
            loadUrl((getString(R.string.mainURL) + "?os=" + os + "&version=" + version));
            redirected = true;
        }