5

ユーザーがユーザー名とパスワードを入力した後、パスワードを保存するように求められますが、ユーザーがその瞬間に電話を回転させると、クラッシュWebViewし、プロンプトがユーザーに表示されなくなります。 、したがって、データの再入力/再書き込みができず、それらの機能が無効になっています。この特定のケースでは、構成の変更が残っているため、構成を再度変更しても、ユーザーはデータを送信できません。問題は、すべてを再構築するまで、内部 OS が回復しないことです。DialogFragmentWebViewWebViewDialogFragmentWebView

クラッシュログは次のとおりです。

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)

EDITWebView作成後にフォーカスを求めるキーボードの問題を修正しました。

mWebView.requestFocus();
4

1 に答える 1

0

あなたのActiviyは向きの変更を処理していないと思います。したがって、Android OS はアクティビティを強制終了し、新しい向きで新しいアクティビティを作成しています。

dimissアクティビティの DialogFragmentのメソッドを呼び出すことができonPauseます。

これでおそらくリークは修正されますが、動作はおそらく期待したものとは異なるでしょう。

于 2013-01-05T23:50:01.677 に答える