【问题标题】:Uber API maps url not loading in android webviewUber API 映射 url 未在 android webview 中加载
【发布时间】:2016-12-10 07:31:31
【问题描述】:

我在我的代码中集成了 Uber API。 GET /v1/requests/{request_id}/map 给了我链接 https://trip-dc2.uber.com/4wxDJ2qUs6 我已经尝试了所有方法将它加载到 webview 中,它显示的是一个空白页面。


 new LoadSocialNetworkUrlTask().execute("https://trip-dc2.uber.com/4wxDJ2qUs6");

 public class LoadSocialNetworkUrlTask extends
        AsyncTask<String, String, Void> {

    protected void onPreExecute() {
        dialog = new ProgressDialog(UberMapViewActivity.this);
        dialog.setMessage("Loading,Please wait...");
        dialog.setIndeterminate(true);
        dialog.setCancelable(true);
        dialog.show();
    }

    protected void onProgressUpdate(final String... url) {
        try {


            ((WebView) shareRideWebView).setBackgroundColor(Color.TRANSPARENT);

            ((WebView) shareRideWebView).setWebViewClient(new WebViewClient() {

                @Override
                public void onReceivedSslError(WebView view,
                                               SslErrorHandler handler, SslError error) {
                    handler.proceed(); // Ignore SSL certificate errors
                }

                @Override
                public void onPageFinished(WebView view, String url) {
                    // TODO hide your progress image
                    super.onPageFinished(view, url);

                    dialog.dismiss();
                }
            });
            ((WebView) shareRideWebView).getSettings().setJavaScriptEnabled(true);
            ((WebView) shareRideWebView).loadUrl(url[0]);

        } catch (Exception e) {
            e.printStackTrace();
            dialog.dismiss();
        }

    }

    @Override
    protected Void doInBackground(String... url) {
        try {
            publishProgress(url);

        } catch (Exception e) {
            e.printStackTrace();
            dialog.dismiss();
        }

        return null;
    }
}

它在独立应用程序中工作,但在我的实际应用程序中,此页面未加载。我也在清单中授予了 Internet 权限。

【问题讨论】:

  • 您有任何日志/错误可以与我们分享吗?
  • 不,我在日志中没有看到任何错误。

标签: android google-maps android-webview uber-api


【解决方案1】:

您在 onProgressUpdate 中加载 webview 的方式很奇怪。

这适用于主线程上提供的 URL。

WebView webView = (WebView) findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("https://trip-dc2.uber.com/4wxDJ2qUs6");

在主线程中预先配置您的 webview 和 webclient。从主线程同步调用加载。开始加载对话框,然后在从客户端获得结果时关闭。

【讨论】:

    猜你喜欢
    • 2013-04-18
    • 1970-01-01
    • 1970-01-01
    • 2011-11-16
    • 1970-01-01
    • 2020-03-04
    • 1970-01-01
    • 1970-01-01
    • 2014-04-02
    相关资源
    最近更新 更多