package chaoran.business.adapter; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import chaoran.business.activity.ResultListener; import chaoran.business.strategy.Strategy; /** * AIFUU 陆军特色中心医院 陈安良 */ public class AifuuAdapter implements Adapter { private Context context; private Strategy strategy; private ResultListener resultListener; public AifuuAdapter(Context context, ResultListener resultListener) { this.context = context; this.resultListener = resultListener; strategy = new Receiver(); } @Override public void start() { strategy.executeStrategy(resultListener); } @Override public void stop() { strategy.exclusiveStrategy(); } public class Receiver extends BroadcastReceiver implements Strategy { @Override public void onReceive(Context context, Intent intent) { resultListener.result(intent.getStringExtra("code")); } @Override public void executeStrategy(ResultListener resultListener) { IntentFilter filter = new IntentFilter(); filter.addAction("com.kte.scan.result"); context.registerReceiver(this, filter); } @Override public void exclusiveStrategy() { context.unregisterReceiver(this); } } }