【问题标题】:ClassCastException: android.os.BinderProxy cannot be castClassCastException:无法强制转换 android.os.BinderProxy
【发布时间】:2013-01-22 12:30:36
【问题描述】:

我得到了这个 ClassCaseException -

/ActivityManager(213): Bad activity token: android.os.BinderProxy@420b43f0
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)

有没有人知道我为什么会收到这个异常。提前致谢。

【问题讨论】:

标签: android exception


【解决方案1】:

我知道它很旧,但我想我会回答,因为我自己刚刚解决了这个问题。这(对我来说)是由于在我的应用程序清单的Service 声明中有android:process。只需删除它即可立即解决我的问题。

希望这对某人有所帮助!

【讨论】:

  • 当服务在同一个进程上运行时,我遇到了这种情况,并且不知道这怎么可能。如果将来有人看到这个 - 请回复:) 我已经解决了这个问题或找到了解决方法。
  • 我也有同样的问题。 @Not_a_Golfer 您是否设法理解和/或解决它?
  • @NeTeInStEiN 首先,我找到了原因 - 这是因为由于某种原因,同一应用程序的两个进程同时处于活动状态,主要是在更新期间。您的服务是否作为粘性服务运行? IIRC 使服务不具有粘性有所帮助。
  • 这怎么可能?同一个应用程序不可能有两个进程..
  • 这似乎是某些 android 版本中的一个错误,并且看起来与系统资源不足有关
【解决方案2】:

如果要绑定的服务和调用者在不同的进程,你应该使用AIDL接口。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-14
    相关资源
    最近更新 更多