콜백을 이용하면 어떨까요?
public class ScanActivity extends AppCompatActivity implements ScanResultReceiver {
   @Override
   public void onScanResultReceived(Context context, Intent intent) {
   } 
 public static class ScanResultReceiver extends BroadcastReceiver {
        interface Listener {
             void onScanResultReceived(Context context, Intent intent);
        }
        private final Listener listener;
        public ScanResultReceiver(Listener listener) {
             this.listener = listener;
        }
        @Override
        public void onReceive(Context context, Intent intent) {
                listener.onScanResultReceived(contet, intent);
        }
}
}
자식액티비티
   @Override
    public void onCreate(Bundle savedInstanceState) {
    @Override
    public void onScanResultReceived(Context context, Intent intent) {
    } 
}더 나은 방법은  static inner class 로 된 부분을 별도의 클래스로 분리해서 사용하는 겁니다. 물론 해당 클래스와의 커뮤니케이션은 callback을 사용해서 처리하면 됩니다.