我将上下文转移到BroadcastReceiver的onReceive()中的特定活动,如MyActivity ma = (MyActivity) context;
。我想在Activity中调用一个方法,但是当我转移上下文时,它有这个错误:ClassCastException error
。之前,在另一个项目中,我没有问题地转移了服务。为什么会出错?
答案 0 :(得分:2)
因为context
方法(docs)中的onReceive
变量为The Context in which the receiver is running
。 (你不能把它强制转换为activity
因为接收器在应用程序上下文中运行,我认为。)
您可以通过handlers
或通过广播自定义意图组织应用程序组件之间的通信。