2013-12-06 4 views
1

Мое приложение хранит веб-страницы для автономного доступа с помощью WebView.Доступ к локальному хранилищу WebView из собственного кода

Мне нужно получить доступ к кэшированным изображениям этих страниц с помощью собственного кода.

Я сначала попробовал (безуспешно) чтение ApplicationCache.db, но в соответствии с this answer, это не очень хорошая идея, так как формат базы данных меняется между версиями Android.

У меня была идея использовать localStorage на моей веб-странице. Возможно ли получить доступ к сохраненной информации из собственного кода?

+0

ApplicationCache и локальное хранилище - это две разные вещи. Если вы используете localstorage, эта ссылка может вам помочь! - http://stackoverflow.com/questions/17615526/android-webview-localstorage – GemK

+0

Это дает ответы на неполадку -http: //stackoverflow.com/questions/9407220/in -androids-webview-whats-the-different-between-domstorage-database-ap? rq = 1 – GemK

+0

Я знаю, что это две разные вещи. Мне нужно что-то хранить в веб-просмотре и получить к нему доступ из собственного кода. Кэш приложения недоступен из собственного кода, поэтому я пытаюсь использовать localStorage в качестве альтернативы (например, я могу хранить изображения как строки в локальном хранилище, а затем получить доступ к нему через мост JS). Мне было интересно, могу ли я получить доступ к базе данных localStorage непосредственно из собственного кода. Извините, если я не был достаточно ясен. – Lizozom

ответ

1

На Android 4.4 вы можете использовать API WebView.evaluateJavascript для получения результата из фрагмента javascript, то есть вы можете опросить localStorage и проанализировать полученный результат. До 4.4 я думаю, что использование JS-моста будет вашим единственным разумным вариантом. Я предполагаю, что вы подключите мост к слушателю StorageEvent в своем javascript (этот подход будет работать и в 4.4).

Смежные вопросы