Android Webview保存密码循环问题

Android Webview保存密码循环问题,android,webview,android-webview,Android,Webview,Android Webview,我将我的WebView放在一个DialogFragment中,显示一个登录页面,在用户输入用户名和密码后,系统会提示用户保存密码,但如果用户在那一刻转动手机,WebView将崩溃,提示将对用户隐藏,因此无法重新输入/重写数据,因为在这些功能中禁用了WebView,在这种情况下,对话框片段在配置更改后仍然存在,用户将无法提交数据,即使我再次更改配置,还有另一个问题,内部操作系统不会恢复,直到我重新构建所有内容,例如,我离开WebView,当我重新创建它时,键盘不会显示,直到配置再次更改 崩溃日志如

我将我的
WebView
放在一个
DialogFragment
中,显示一个登录页面,在用户输入用户名和密码后,系统会提示用户保存密码,但如果用户在那一刻转动手机,
WebView
将崩溃,提示将对用户隐藏,因此无法重新输入/重写数据,因为在这些功能中禁用了
WebView
,在这种情况下,
对话框片段
在配置更改后仍然存在,用户将无法提交数据,即使我再次更改配置,还有另一个问题,内部操作系统不会恢复,直到我重新构建所有内容,例如,我离开
WebView
,当我重新创建它时,键盘不会显示,直到配置再次更改

崩溃日志如下所示:

12-24 08:36:21.694: E/WindowManager(21235): Activity com.example.twitterlibraryservice.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@45aef418 that was originally added here
12-24 08:36:21.694: E/WindowManager(21235): android.view.WindowLeaked: Activity com.example.twitterlibraryservice.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@45aef418 that was originally added here
12-24 08:36:21.694: E/WindowManager(21235):     at android.view.ViewRoot.<init>(ViewRoot.java:255)
12-24 08:36:21.694: E/WindowManager(21235):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
12-24 08:36:21.694: E/WindowManager(21235):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
12-24 08:36:21.694: E/WindowManager(21235):     at android.view.Window$LocalWindowManager.addView(Window.java:424)
12-24 08:36:21.694: E/WindowManager(21235):     at android.app.Dialog.show(Dialog.java:241)
12-24 08:36:21.694: E/WindowManager(21235):     at android.app.AlertDialog$Builder.show(AlertDialog.java:802)
12-24 08:36:21.694: E/WindowManager(21235):     at android.webkit.WebView.onSavePassword(WebView.java:1065)
12-24 08:36:21.694: E/WindowManager(21235):     at android.webkit.CallbackProxy.handleMessage(CallbackProxy.java:431)
12-24 08:36:21.694: E/WindowManager(21235):     at android.os.Handler.dispatchMessage(Handler.java:99)
12-24 08:36:21.694: E/WindowManager(21235):     at android.os.Looper.loop(Looper.java:143)
12-24 08:36:21.694: E/WindowManager(21235):     at android.app.ActivityThread.main(ActivityThread.java:4717)
12-24 08:36:21.694: E/WindowManager(21235):     at java.lang.reflect.Method.invokeNative(Native Method)
12-24 08:36:21.694: E/WindowManager(21235):     at java.lang.reflect.Method.invoke(Method.java:521)
12-24 08:36:21.694: E/WindowManager(21235):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
12-24 08:36:21.694: E/WindowManager(21235):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
12-24 08:36:21.694: E/WindowManager(21235):     at dalvik.system.NativeStart.main(Native Method)

我猜你的活动不能处理方向的改变。因此,Android操作系统正在扼杀你的活动,并以新的方向创建一个新的活动

您可以尝试在活动的
onPause
中调用DialogFragment的
dimiss
方法

这可能会修复您的漏洞,但其行为可能不是您所期望的

mWebView.requestFocus();