本文介绍了Android的WebView中localStorage的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图得到一个HTML5的localStorage例如一个Android的WebView(WebKit的,ChromeClient)内工作。但我有没有运气。一切从手机浏览器的工作方式不是从web视图。
活动:
公共类BrowserActivity延伸活动{
@覆盖
公众最终无效的onCreate(最终捆绑savedInstanceState){
super.onCreate(savedInstanceState); 的setContentView(R.layout.main); 的WebView浏览器=(的WebView)findViewById(R.id.webView); browser.setHapticFeedbackEnabled(真);
browser.getSettings()setJavaScriptEnabled(真)。
。browser.getSettings()setSavePassword(假); browser.getSettings()setDatabaseEnabled(真)。
browser.getSettings()setDomStorageEnabled(真)。
browser.getSettings()setDatabasePath(/数据/数据/+ browser.getContext()getPackageName()+/数据库/)。 browser.loadUrl(http://my.app.com:10099);
}
}
Manifiest:
<?XML版本=1.0编码=UTF-8&GT?;
<清单的xmlns:机器人=http://schemas.android.com/apk/res/android
包=RestrictedBrowser
安卓版code =1
机器人:=的versionName1.0>
<采用-SDK安卓的minSdkVersion =16/>
<应用机器人:标签=@字符串/ APP_NAME>
<活动机器人:名字=RestrictedBrowser.BrowserActivity
机器人:标签=@字符串/ APP_NAME
机器人:主题=@安卓风格/ Theme.Black.NoTitleBar
机器人:screenOrientation =肖像>
&所述;意图滤光器>
<作用机器人:名字=android.intent.action.MAIN/>
<类机器人:名字=android.intent.category.LAUNCHER/>
&所述; /意图滤光器>
< /活性GT;
< /用途>
<使用许可权的android:NAME =android.permission.INTERNET对>< /使用许可权>
<使用许可权的android:NAME =android.permission.WRITE_EXTERNAL_STORAGE>< /使用许可权>
<使用许可权的android:NAME =android.permission.READ_EXTERNAL_STORAGE>< /使用许可权>
< /清单>
错误
解决方案
You must create the database directory before you can use it.
Use the following code
String databasePath = browser.getContext().getDir("databases",
Context.MODE_PRIVATE).getPath();
browser.getSettings().setDatabasePath(databasePath);
这篇关于Android的WebView中localStorage的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!