gpt4 book ai didi

javascript - 尝试从 webview 获取位置时出现 Android "SQLite database failed to load from/CachedGeoposition.db"错误

转载 作者:行者123 更新时间:2023-11-30 06:28:58 24 4
gpt4 key购买 nike

我正在创建一个将 webkit 与 chrome 客户端结合使用的 android 应用程序。我希望能够在网页请求时获取当前位置。我设置的网页适用于普通浏览器。但是,当我尝试访问 webkit 中的网页时,我不断收到此错误:

ERROR: 
SQLite database failed to load from /CachedGeoposition.db
Cause - unable to open database file
external/webkit/Source/WebCore/platform/sql/SQLiteDatabase.cpp(71) : bool
WebCore::SQLiteDatabase::open(const WTF::String&, bool)

这是我的权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

这是我设置 webview 和 chrome 客户端的 android 代码:

    WebView webView = (WebView)findViewById(R.id.webView1);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setGeolocationEnabled(true);

webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url){
view.loadUrl(url);
return false;
};
});

webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) {
callback.invoke(origin, true, false);
}
});

我调用时的 javascript 错误:

navigator.geolcation.getCurrentPosition( success_function, fail_function )

成功函数和失败函数都不会被调用。

这里有一个极其相似、几乎相同的问题:Android webview geoposition database failed to open

我进行了大量的谷歌搜索,虽然我看到有几个人遇到了同样的问题,但我在任何地方都找不到解决方案。如果有人需要我提供更多信息,请随时告诉我。

最佳答案

所以,这个线程几乎解决了这个问题:

Samsung Galaxy Devices can't use geolocation.getCurrentPosition

简而言之,我使用的是三星galaxy手机,而三星galaxy手机似乎存在html5地理定位问题。

关于javascript - 尝试从 webview 获取位置时出现 Android "SQLite database failed to load from/CachedGeoposition.db"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19163995/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com