Посмотрите на эти фрагменты кода:
Пользовательские виды и атрибуты окна на Android
Проблема
Когда я нажимаю кнопку "Главная", exception
бросается: Activity
имеет просочившееся окно... из этой строки:
localWindowManager.addView(colourView, layoutParams);
Вопрос (ы)
Знаете ли вы, что может вызвать это?
Проблема не возникает, когда я закрываю приложение с помощью кнопки "Назад".
Журналы исключений/ошибок
W/InputManagerService( 96): Starting input on non-focused client [email protected] (uid=10056 pid=1368)
D/CordovaActivity( 1368): CordovaActivity.onDestroy()
D/CordovaWebView( 1368): >>> loadUrlNow()
E/WindowManager( 1368): Activity com.phonegap.helloworld.HelloWorld has leaked window [email protected] that was originally added here
E/WindowManager( 1368): android.view.WindowLeaked: Activity com.phonegap.helloworld.HelloWorld has leaked window [email protected] that was originally added here
E/WindowManager( 1368): at android.view.ViewRoot.<init>(ViewRoot.java:258)
E/WindowManager( 1368): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
E/WindowManager( 1368): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
E/WindowManager( 1368): at android.view.Window$LocalWindowManager.addView(Window.java:424)
E/WindowManager( 1368): at pl.edu.uj.tcs.student.xxx.Display.setColorsViews(Display.java:181)
E/WindowManager( 1368): at pl.edu.uj.tcs.student.xxx.Display$3.run(Display.java:139)
E/WindowManager( 1368): at android.os.Handler.handleCallback(Handler.java:587)
E/WindowManager( 1368): at android.os.Handler.dispatchMessage(Handler.java:92)
E/WindowManager( 1368): at android.os.Looper.loop(Looper.java:130)
E/WindowManager( 1368): at android.app.ActivityThread.main(ActivityThread.java:3683)
E/WindowManager( 1368): at java.lang.reflect.Method.invokeNative(NativeMethod)
E/WindowManager( 1368): at java.lang.reflect.Method.invoke(Method.java:507)
E/WindowManager( 1368): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
E/WindowManager( 1368): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
E/WindowManager( 1368): at dalvik.system.NativeStart.main(Native Method)
D/CordovaActivity( 1368): onMessage(onPageStarted,about:blank)
D/CordovaWebViewClient( 1368): onPageFinished(about:blank)
D/CordovaActivity( 1368): onMessage(onPageFinished,about:blank)
D/CordovaActivity( 1368): onMessage(exit,null)
I/power ( 96): *** set_screen_state 0
EDIT:
Как я могу добавить что-то к функциям onPause(), onStop() и т.д. в Кордове Activity?
ИЗМЕНИТЬ 2:
Почему это проблема? Потому что все, что я создаю, это класс, который расширяет CordovaPlugin и небольшие вспомогательные классы. Все это. Я не могу (я полагаю) изменить тело класса Activity. Все, что я могу сделать, это получить ссылку на него, вызвав функцию cordova.getActivity()
.