2013-01-22 65 views
5

我得到這個ClassCaseException -ClassCastException異常:android.os.BinderProxy無法施展

/ActivityManager(213): Bad activity token: [email protected] 
W/ActivityManager(213): java.lang.ClassCastException: android.os.BinderProxy cannot be cast to 
com.android.server.am.ActivityRecord$TokenW/ActivityManager(213): at 
com.android.server.am.ActivityRecord.forToken(ActivityRecord.java:295) 
W/ActivityManager(213): at com.android.server.am.ActivityManagerService.configureSoftkeysActivity(ActivityManagerService.java:15095) 
W/ActivityManager(213): at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:1572)W/ActivityManager(213):  at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:1646) 
W/ActivityManager(213): at android.os.Binder.execTransact(Binder.java:338) 
W/ActivityManager(213): at dalvik.system.NativeStart.run(Native Method) 

做任何一件有爲什麼我收到此異常的想法。提前致謝。

+0

在發生此異常的位置添加一些代碼 –

回答

12

我知道它已經很老了,但我想我會回答,因爲我剛剛解決了這個問題。這(對我來說)是由於我的Service聲明瞭應用程序清單中的android:process。簡單地刪除,立即解決了我的問題。

希望這可以幫助別人!

+1

當服務在同一進程上運行時,我遇到了這種情況,並且不知道這怎麼可能。如果任何來自未來的人看到這一點 - 請回復:)我已經解決了這個問題或找到了解決方法。 –

+0

我有完全相同的問題。 @Not_a_Golfer你是否設法理解和/或解決它? – neteinstein

+3

@NeTeInStEiN首先,我找到了原因 - 這是因爲某些原因,同一個應用程序的兩個進程同時存在,主要是在更新期間。您的服務是否作爲粘性服務運行? IIRC使這項服務非粘性有所幫助。 –

1

如果服務綁定與調用方處於不同的過程中,則應使用AIDL接口。

相關問題