Start a new Activity from non Activity class

Pass context as constructor parameter and then try this

Intent i = new Intent(this, SearchActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);

This doesn't work because you need a Context in order to start a new activity. You can reorganize your class into something like this:

public class FacebookLoginDialog implements DialogListener {
  private final Context context;

  public FacebookLoginDialog(Context context) {
    this.context = context;
  }

  @Override
  public void onComplete(Bundle values) {
    HomeActivity.showInLog(values.toString());

    Intent i1 = new Intent (context, SearchActivity.class);
    context.startActivity(i1);
  }

  //Other methods...
}

Then it will work.