OK, I have not tried any of them and that is pretty disappointing to hear, but now you are one step ahead of me.
Were you able to establish connection with the apps? If so, I can only assume the problem is just some trivial procedural thing and easily fixed. Otherwise there would surely be bad reviews!
I'm afraid I am only involved with data logging and have never so much as flashed a LED myself but, while I'm sure my sketch could be enlarged upon with conditional statements as described, I now believe the effort is better devoted to getting the store-bought stuff to run since you then get the Android code for free.
On reflection, I guess if you just need an on/off trigger, a slight modification of the code will indeed suffice. In this instance, you just want action on receipt of a signal, without needing to interpret anything.
Try the following. It compiles OK but I'm not able to use it at the moment, so I'm guessing.........
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;
pinMode(led, OUTPUT); // initialize the digital pin as an output.
digitalWrite(led, LOW); // ensure the LED is off by making the voltage LOW
Serial.println("OK then, you first, say something.....");
Serial.println("Go on, type something in the space above and hit Send, or just hit the Enter key");
Serial.println("I heard you say:");
Serial.write(Serial.read());// note it is Serial.WRITE
if (led == LOW)
Serial.print(" and LED is ON");
Serial.print(" and LED is OFF");