【发布时间】:2025-11-28 05:15:01
【问题描述】:
我在BroadcastReceiver的onReceive()中将context转入一个特定的Activity,如MyActivity ma = (MyActivity) context;。我想在Activity中调用一个方法,但是我在转context的时候,却出现了这个错误:ClassCastException error。之前,在另一个项目,我转服务没问题,为什么会报错?
【问题讨论】:
我在BroadcastReceiver的onReceive()中将context转入一个特定的Activity,如MyActivity ma = (MyActivity) context;。我想在Activity中调用一个方法,但是我在转context的时候,却出现了这个错误:ClassCastException error。之前,在另一个项目,我转服务没问题,为什么会报错?
【问题讨论】:
因为onReceive 方法(docs) 中的context 变量是The Context in which the receiver is running。 (我认为你不能将它转换为activity,因为接收器正在应用程序上下文中运行。)
您可以通过handlers 或通过广播自定义意图来组织应用程序组件之间的通信。
【讨论】: