【问题标题】:Call a method in Activity of BroadcastReceiver在 BroadcastReceiver 的 Activity 中调用方法
【发布时间】:2025-11-28 05:15:01
【问题描述】:

我在BroadcastReceiver的onReceive()中将context转入一个特定的Activity,如MyActivity ma = (MyActivity) context;。我想在Activity中调用一个方法,但是我在转context的时候,却出现了这个错误:ClassCastException error。之前,在另一个项目,我转服务没问题,为什么会报错?

【问题讨论】:

    标签: android broadcastreceiver


    【解决方案1】:

    因为onReceive 方法(docs) 中的context 变量是The Context in which the receiver is running。 (我认为你不能将它转换为activity,因为接收器正在应用程序上下文中运行。)

    您可以通过handlers 或通过广播自定义意图来组织应用程序组件之间的通信。

    【讨论】: