我有一个简单的html5测试页面,它使用LocalStorage来显示/保存/重新显示一段数据.
此代码在Android 2.3.x中完美运行,但在html的第18行的4.0.1中记录了一个异常,这是第一次localStorage.getItem()调用,此时JS停止了.
例外:Uncaught Error: SECURITY_ERR: DOM Exception 18 at /data/data/my.app.name/app_htmlData:18
我也尝试getCacheDir()使用相同的结果设置数据库路径.
String htmlContent = "HTML content listed below";
File sharedDir = getActivity().getDir("htmlData", Context.MODE_PRIVATE);
WebView browser = (WebView)v.findViewById(R.id.wvBrowser);
browser.setWebChromeClient(new WebChromeClient(){
public void onExceededDatabaseQuota(String url, String databaseIdentifier, long currentQuota, long estimatedSize, long totalUsedQuota, WebStorage.QuotaUpdater quotaUpdater) {
quotaUpdater.updateQuota(estimatedSize * 2);
}
});
browser.setWebViewClient(new WebViewClient(){
@Override
public void onPageFinished(WebView view, String url){
view.loadUrl("javascript:doTest()");
});
browser.getSettings().setDatabaseEnabled(true);
browser.getSettings().setDatabasePath(sharedDir.getPath());
browser.getSettings().setDomStorageEnabled(true);
browser.loadDataWithBaseURL(mSharedDir.getPath(),
htmlContent,
"text/html",
"utf-8",
null);
Run Code Online (Sandbox Code Playgroud)
页面呈现的HTML如下:
<!DOCTYPE html PUBLIC …Run Code Online (Sandbox Code Playgroud) 在使用Android uiAutomator时,我在尝试在4.1.2设备上运行测试时遇到了问题.使用输入链接描述中的代码时,尝试滚动应用程序托盘时会引发异常.
我最初认为它是由编译api 17而不是16而引起的,但这似乎不是真的.还有其他人遇到过吗?
提出例外:
[exec] java.lang.reflect.InvocationTargetException [exec] at java.lang.reflect.Method.invokeNative(Native Method)[exec] at java.lang.reflect.Method.invoke(Method.java:511)[exec] at com.example.runTests(Runner.java:124)[exec] at com.example.testExecutor(Runner.java:60)[exec] at java.lang.reflect.Method.invokeNative(Native Method)[exec] at java.lang.reflect.Method.invoke(Method.java:511)[exec] at junit.framework.TestCase.runTest(TestCase.java:168)[exec] at junit.framework.TestCase.runBare(TestCase.java: 134)[exec] at junit.framework.TestResult $ 1.protect(TestResult.java:115)[exec] at junit.framework.TestResult.runProtected(TestResult.java:133)[exec] at junit.framework.TestResult.run (TestResult.java:118)[exec] at junit.framework.TestCase.run(TestCase.java:124)[exec] at com.android.uiautomator.testrunner.UiAutomatorTestRunner.start(UiAutomatorTestRunner.java:124)[exec] at com.android.uiautomator.testrunner.UiAutomatorTestRunner.run(UiAutomatorTestRunner.java:85)[exec] at com.an droid.commands.uiautomator.RunTestCommand.run(RunTestCommand.java:76)[exec] at com.android.commands.uiautomator.Launcher.main(Launcher.java:83)[exec] at com.android.internal.os. RuntimeInit.nativeFinishInit(Native Method)[exec] at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:235)[exec] at dalvik.system.NativeStart.main(Native Method)[exec]引起: java.lang.NoSuchMethodError:com.andample.uiautomator.core.UiScrollable.setAsHorizontalList [exec] at com.example.Runner.launchAppFromHomeScreen(Test.java:45)[exec] ... 19更多