2013-06-11 12 views
5

Ho caricato sul mercato un'applicazione Android e, per qualche motivo, un utente riceve questo errore.Android Crash, java.lang.IllegalArgumentException: il tipo di finestra non può essere modificato dopo l'aggiunta della finestra

java.lang.IllegalArgumentException: Window type can not be changed after the window is added. 
at android.os.Parcel.readException(Parcel.java:1331) 
at android.os.Parcel.readException(Parcel.java:1281) 
at android.view.IWindowSession$Stub$Proxy.relayout(IWindowSession.java:664) 
at android.view.ViewRootImpl.relayoutWindow(ViewRootImpl.java:3594) 
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1193) 
at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2450) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:137) 
at android.app.ActivityThread.main(ActivityThread.java:4444) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554) 
at dalvik.system.NativeStart.main(Native Method) 

Io sono abbastanza sicuro che non uso mai WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG come riferimento in altri messaggi. Tuttavia, ho una finestra che cambia tra WindowManager.LayoutParams.TYPE_PHONE e WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY. Sembra che potrebbe essere l'errore. Preferirei non cambiarlo perché richiederebbe due finestre invece di una sola. Grazie in anticipo!

risposta

11

controllo AndroidManifest.xml

<uses-sdk //************ 
      android:targetSdkVersion="X"/> 

X deve essere inferiore a 14 o rimuovere questo attributo. ragazzo di buona fortuna.

+0

Come lo sapevi? –

+0

Albert Qing questa non è la soluzione. Come farlo funzionare per l'ultima API – Nepster

+0

Molte condizioni possono causare questo problema, questa è solo una scelta, non assoluta! –