我有一个广播接收器,用于使用API requestLocationUpdates
接收待处理意图的广播
我在onReceive(..)
方法中收到的上下文中包含调用活动的所有UI元素和对象(我可以使用Watch Window查看)。
有没有方法/方法来访问这些UI元素或上下文中包含的任何对象?
这是一个片段:
MainActivity {
//Initialize a pending intent
locationmanagerobject.requestLocationUpdates(provider,0,0,pendingintent);
//registering broadcast reciver
}
broadcastReciverClass {
onReceive(Context context, Intent intent) {
/*I want to gain access to the objects of the main Activity. I can
see them in context if I use the watch window to monitor the
context object. I want to find a way to be able to access them and use them*/
}
}
答案 0 :(得分:0)
为什么要访问主要活动上的对象?我问,因为我想知道是否可以做出更好的架构决策。活动是有意模块化的。
如果您希望在接收广播时更新MainActivity中的UI组件,则可以执行以下操作:
从broadcastReciverClass广播消息,并在MainActivity中注册接收器以进行相应更新。
在接收消息时更改shared / singleton类中的数据,并在onResume()方法中对MainActivity进行适当的UI更改。