Android Webview页面未正确加载页面

我正在尝试使用Android Studio模拟器(Nexus 5)将页面加载到Android应用程序webview中。 但是,页面未正确加载并卡在加载屏幕上。 该页面确实需要GeoLocation权限,但我已经启用了它们。

下面是我的代码和应用程​​序的XML。

MainActivity.java

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WebView webview; setContentView(R.layout.activity_main); webview = (WebView)findViewById(R.id.help_webview); //webview use to call own site webview.setWebViewClient(new WebViewClient()); webview.getSettings().setJavaScriptEnabled(true); webview.getSettings().setDomStorageEnabled(true); webview.getSettings().setAllowContentAccess(true); webview.getSettings().setAllowFileAccess(true); webview.getSettings().setAppCacheEnabled(true); webview.getSettings().setAllowUniversalAccessFromFileURLs(true); webview.getSettings().setAllowContentAccess(true); webview.getSettings().setGeolocationEnabled(true); webview.getSettings().setDatabaseEnabled(true); webview.setWebChromeClient(new WebChromeClient() { public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { // callback.invoke(String origin, boolean allow, boolean remember); callback.invoke(origin, true, false); } }); webview.loadUrl("https://lit-citadel-6989.herokuapp.com"); } 

activity_main.xml

  

AndroidManifest.xml中

                    

更新:这肯定是一个地理位置问题。 我没有gps.config文件。 我似乎无法find一种具体的方法来创建一个或我需要的东西。 获取位置的网站上的javascript是

 navigator.geolocation.getCurrentPosition(function(location){ setLatLng(location); locationLoaded = true; callback(lat,lng); }); 

如何在android中设置webview以传递用户的当前位置?

有其他用户使用这种方法,它工作正常, 问题是你在模拟器上测试它

为了在模拟器上获得有效的GPS / Location API,您可以使用geo fix命令。

您可以使用此GUI工具在模拟器上轻松设置伪造的GPS位置。

有关geo fix命令的详细信息,请参见此处 。

我实现了onConsoleMessage方法(在WebChromeClient )以查看发生了什么并收到错误:

 @Override public boolean onConsoleMessage(android.webkit.ConsoleMessage consoleMessage) { Log("WebConsole: " + consoleMessage.message() + " [line:" + consoleMessage.lineNumber() + "]"); return true; } WebConsole: Uncaught SyntaxError: Unexpected token function [line:1] 

确保为仿真器启用了GPS。 还有另一个问题,有一个很好的教程: 如何在Android模拟器中模拟GPS位置?

希望有所帮助。