0

我有一个广播接收器,用于使用 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*/ 
   } 
}
4

1 回答 1

0

为什么要访问主要活动上的对象?我问是因为我想知道是否可以做出更好的架构决策。活动是有意模块化的。

如果您希望在接收广播时更新 MainActivity 中的 UI 组件,您可以执行以下操作:

  • 从 broadcastReciverClass 广播一条消息并在 MainActivity 中注册一个接收器以进行相应的更新。

  • 接收消息时更改共享/单例类中的数据,并在 onResume() 方法中的 MainActivity 中进行适当的 UI 更改。

于 2013-08-08T16:05:38.160 回答