android - Uber API map url 未在 android webview 中加载

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

我已将 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;
    }
}

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

最佳答案

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

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

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

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

关于android - Uber API map url 未在 android webview 中加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38762879/

相关文章:

javascript - 使用 Google Maps API 从本地数据库搜索最近的地址

java - 为什么我会收到 android.database.sqlite.sqlitecursor @ 错误

android - "Enable foldable display"即使将 android studio 更新到版本 3.5 并将 android 模拟器更新到 29.1.12 也不会显示

android - 量化密度如何影响图像资源选择和缩放?

javascript - GMap 轴承旋转平稳运动(改变轴承值时避免抖动效果)

android - 如何在 Android webview 中隐藏缩放控件?

android - 使用 ksoap2 将加密密码从 android 传递到 Web 服务到 mysql 数据库

javascript - 谷歌地图 API : error thrown when setting LatLng values

Android WebView - 滚动条不填充 layout_height

android - 如何在AndEngine场景后面设置布局?