package com.itbox.fx.location; import com.itbox.fx.core.Application; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; /** * @author hyh creat_at:2013-8-13-下午2:23:49 */ public abstract class LocReceiver extends BroadcastReceiver { public static final int Success_Only = 0; public static final int Fail_Only = 1; public static final int Success_And_Fail = 2; /**定位服务发出广播的意图*/ public static final String LOC_SUCCESS = "com.whoyao.loc.success",LOC_FAIL = "com.whoyao.loc.fail"; private boolean isRegistered = false; private IntentFilter filter; private Context context; public LocReceiver(int receiveType) { super(); context = Application.getInstance(); filter = new IntentFilter(); switch (receiveType) { case 0: filter.addAction(LOC_SUCCESS); break; case 1: filter.addAction(LOC_FAIL); break; case 2: filter.addAction(LOC_SUCCESS); filter.addAction(LOC_FAIL); break; default: break; } } public LocReceiver register() { if (!isRegistered) { context.registerReceiver(this, filter); isRegistered = true; } return this; } public LocReceiver unRegister() { if (isRegistered) { context.unregisterReceiver(this); isRegistered = false; } return this; } /** * Intent action中包含定位成功/失败的信息 */ @Override abstract public void onReceive(Context context, Intent intent); }