Tengo un sitio web que utiliza la API de geolocalización y quiero que se abra en una vista web. He definido estos permisos en el archivo de manifiesto:Android webview geoposition database failed to open
<uses-permission android:name="android.permission.ACCESS_GPS" />
<uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS" />
<uses-permission android:name="android.permission.ACCESS_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
En mi actividad, también establecer la configuración WebView:
webview.getSettings().setDatabaseEnabled(true);
webview.getSettings().setDomStorageEnabled(true);
webview.getSettings().setGeolocationDatabasePath("/data/data/com.my.app/databases");
webview.getSettings().setGeolocationEnabled(true);
Y también he manejado Javascript de diálogo de geolocalización:
webview.setWebChromeClient(new WebChromeClient(){
@Override
public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) {
callback.invoke(origin, true, false);
}
});
Geolocalización está funcionando, pero no puedo guardar la geoposición en la base de datos. Se debe hacer por sí mismo en CachedGeoposition.db, pero cuando comienzo a la vista web, me sale este error extraño SQLite:
E/SQLiteLog(22653): (14) cannot open file at line 30174 of [00bb9c9ce4]
E/SQLiteLog(22653): (14) os_unix.c:30174: (2) open(/CachedGeoposition.db) -
D/WebKit (22653): ERROR:
D/WebKit (22653): SQLite database failed to load from /CachedGeoposition.db
D/WebKit (22653): Cause - unable to open database file
D/WebKit (22653):
D/WebKit (22653): external/webkit/Source/WebCore/platform/sql/SQLiteDatabase.cp
p(71) : bool WebCore::SQLiteDatabase::open(const WTF::String&, bool)
Cuando compruebo existencia de archivo CachedGeoposition.db en el Explorador de archivos, que siempre está ahí , y los permisos de la base de datos se establecen en -rw -------.
¿Echaba de menos algo en la configuración que podría causar que la base de datos no se abra correctamente? Soy nuevo en Android y trato de encontrar una solución durante 2 días. Cualquier ayuda sería muy apreciada. Gracias.
verifique esta respuesta http://stackoverflow.com/questions/12801690/error-log-sqlite-failed-to-load-from-cachedgeoposition-db – jpotts18