我已将 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/