Ho un sito Web che utilizza javascript geolocation api e voglio che si apra in una visualizzazione Web. Ho creato queste autorizzazioni nel file manifesto:Impossibile aprire il database di esplorazione WebView per Android
<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"/>
Nella mia attività, ho anche configurare le impostazioni WebView:
webview.getSettings().setDatabaseEnabled(true);
webview.getSettings().setDomStorageEnabled(true);
webview.getSettings().setGeolocationDatabasePath("/data/data/com.my.app/databases");
webview.getSettings().setGeolocationEnabled(true);
E ho anche gestito javascript dialogo geolocalizzazione:
webview.setWebChromeClient(new WebChromeClient(){
@Override
public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) {
callback.invoke(origin, true, false);
}
});
Geolocalizzazione sta funzionando, ma non sono in grado di memorizzare la posizione di partenza nel database. Si dovrebbe fare da sé in CachedGeoposition.db, ma quando avvio il WebView, ottengo questo strano errore di 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)
Quando controllo sull'esistenza di file di CachedGeoposition.db in Esplora file, è sempre lì , e le autorizzazioni del db sono impostate su -rw -------.
Mi sono perso qualcosa nelle impostazioni che cosa potrebbe impedire l'apertura corretta del database? Sono nuovo di Android e sto cercando di trovare una soluzione per 2 giorni. Qualsiasi aiuto sarebbe molto apprezzato. Grazie.
controllare questa risposta http://stackoverflow.com/questions/12801690/error-log-sqlite-failed-to-load-from-cachedgeoposition-db – jpotts18