访问上下文

时间:2013-08-07 22:11:08

标签: android android-context locationmanager

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

1 个答案:

答案 0 :(得分:0)

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

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

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

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