我在MapActivity中注册了ProximityAlert。在BroadcastReceiver中捕获警报并启动新活动没有问题。
除了开始新活动之外,我还想通知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 runnable中使用Handler没有问题我可以启动一个倒计时器。 但是广播接收器属于单独的类,我不知道该做什么
private MyHandler handler;
...
handler.sendEmptyMessage(11);
给我空指针exeption。当我添加
handler= new MyHandler(new ProximityMapActivity());
未出现的处理程序出来了。
你可以给我一个提示或评论吗?谢谢你。答案 0 :(得分:0)
我忘了将setter添加到我的对象中。现在我可以传递处理程序的指针。
MapActivity中的
public void onCreate(Bundle savedInstanceState) {
handler = new MyHandler(this);
ProximityAlertHelper.setHandler(handler);