2012-03-01 33 views
0

我已經在MapActivity中註冊了ProximityAlert。在BroadcastReceiver中捕獲警報並開始新的活動沒有問題。如何從廣播接收器通知MapActivity以更改覆蓋層,proximityalert等

除了開始新的活動,我想通知MapActivity清除覆蓋,接近警報和停止計數定時器。

因爲廣播接收器是在單獨的線程中我是做處理

public class MyHandler extends Handler { 
private ProximityMapActivity MainActivity; 

MyHandler(ProximityMapActivity a) { 
    this.MainActivity = a; 
}... 

在MapActivity

public void onCreate(Bundle savedInstanceState) { 
    handler = new MyHandler(this); 

我有處理程序沒有問題,從runOnFirstFix運行的,我可以啓動一個數計時器。 但broadbast接收器是在單獨的類,我不知道該怎麼辦

private MyHandler handler; 
... 
handler.sendEmptyMessage(11); 

是給我空指針exeption。當我添加

handler= new MyHandler(new ProximityMapActivity()); 

未捕獲的處理程序出來了。

你能給我一個提示或評論嗎?感謝您的轉發。

回答

0

我忘了添加setter到我的對象。現在我可以傳遞處理程序的指針。

在MapActivity

public void onCreate(Bundle savedInstanceState) { 
    handler = new MyHandler(this); 
ProximityAlertHelper.setHandler(handler);