场景描述:使用TabHost+ActivityGroup,在ActivityGroup中的一个Activity中使用webView。
webView加载一个带有表单的页面,当我填写完用户名和密码点击登录时,程序奔溃并显示如下错误:
1
|
ndroid.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@45f48c40 is not valid; is your activity running? |
原因:在点击登录时webView页面会弹出一个AlertDialog ,提示是否需要保存密码。正是由于这个AlertDialog的弹出导致了程序奔溃。
解决方法:取消webview记住密码功能。
1
2
3
4
|
mWebView = new WebView(mContext);
WebSettings settings = mWebView .getSettings(); settings.setSavePassword( false );
settings.setSaveFormData( false );
|
badTokenExcaption的通用解决方法:实际上出现这种问题的主要原因是显示UI界面时,context选择错误。例如在tabhost的一个子界面中弹出AlertDialog就会出错,如果想要能弹出AlertDialog,又不出错,下面提供一种比较好的解决方法:
在你的activity的onCreate() 方法中,替换setContentView(R.layout.XXXXX)为下面代码
1
2
|
View viewToLoad = LayoutInflater.from( this .getParent()).inflate(R.layout.XXXXX, null );
this .setContentView(viewToLoad);
|
通过调用当前context的parent获得正确的context,再去初始化ContentView,这样就可以比较完美的解决badTokenExcaption相关的问题了。
<script type="text/javascript">// <![CDATA[ $(function(){ var photos = $('.thumbPhoto'); for(var j=0;j<photos.length;j++){ var lis = photos.eq(j).children(); for(var i=0;i<lis.length;i++){ if(i % 5 == 0 && 0 != i){ lis.eq(i-1).css('margin-right','0px') } } } }); // ]]></script><iframe src="http://acl.a.libdd.com/acl.html?2" frameborder="0" width="0" height="0"></iframe> <script type="text/javascript">// <![CDATA[ var _ddgaq = _ddgaq || []; _ddgaq.push(['DDGAT._setAccount', 'UA-30555696-1']); _ddgaq.push(['DDGAT._setDomainName', '.diandian.com']); _ddgaq.push(['DDGAT._setAllowLinker', true]); _ddgaq.push(['DDGAT._addOrganic', 'baidu', 'word']); _ddgaq.push(['DDGAT._addOrganic', 'soso', 'w']); _ddgaq.push(['DDGAT._addOrganic', 'youdao', 'q']); _ddgaq.push(['DDGAT._addOrganic', 'sogou', 'query']); _ddgaq.push(['DDGAT._trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = 'http://s.libdd.com/js/base/ga.$5928.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); // ]]></script>
<!--RenderTime:'271'(Mars:'163')--><!--Host Name: hy-10-0-0-86.dd.hn-->
相关推荐
适用于安卓5,armv8a和armv7a
Android webview apk 版本:115.0.5790.138,兼容32/64位。
WebView在设置setInitialScale(....)后,是无法修改此放缩比例值的,因为此设置只有在webview的初始化时候加载一次,后边是无法修改的。看了下WebView的源码,修改此缩放比例值WebView内部是通过: private void...
android system webview 适配系统>=5.0
这是AOSP Webview, 包名com.android.webview, 不带google的 带google包名的可以下载 google system webview覆盖安装,可以略过 此文件包含 arm和arm64的webview
Android framework 系统编译 新版WebView浏览器内核101.0.4951.61
安卓内置的浏览器内核,适用于x86构架,如:华硕ze551ml....,最低系统要求安卓5.0.........................................................................................................................
有些平板缺失加载webview所依赖的内核apk的资源文件,会导致应用加载webview报错。需要自己安装webview的apk。 webview全称叫做Android System WebView,它是Android生态系统的重要组成部分,也是Chrome浏览器的...
这是AOSP的webview,包名com.android.webview,不是google的webview
Android WebViewJS应用源码.zip源码资源下载Android WebViewJS应用源码.zip源码资源下载
WebView已成为Android App中最容易出现重大漏洞的薄弱环节。为此,本次峰会上,何恩基于自身漏洞挖掘所积累的丰富案例,对WebView安全配置、白名单校验、Js2Java接口安全、Intent Scheme校验等典型漏洞案例进行了...
Android WebViewJS应用源码.rar
这是AOSP Webview, 包名com.android.webview, 不带google的 带google包名的可以下载 google system webview覆盖安装,可以略过 此文件包含 arm和arm64的webview这是AOSP Webview, 包名com.android.webview, 不带...
Android WebViewJS应用源码.zip
Android WebViewJS应用源码.zip项目安卓应用源码下载Android WebViewJS应用源码.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司开发项目技术参考
android webview 加载本地html.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
3D WebView for Android 3.16.1.unitypackage