Hi,
My aim is to take a photo using the native android camera by using the Key or motion events. But it is not possible. I tried with junit testing.
Code for invoking camera
**package com.two.camera;
  import android.app.Activity;
  import android.content.Intent;
  import android.os.Bundle;
  public class CameraTwo extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Intent i = new Intent();
    i.setClassName("com.android.camera","com.android.camera.Camera");
    startActivity(i); 
}
}**
I tried to send key events by writing a Android unit testing project with code.
package com.two.camera.test;
import android.app.Instrumentation;
import android.test.ActivityInstrumentationTestCase2;
import android.view.KeyEvent;
import com.two.camera.CameraTwo;
public class TestOne extends ActivityInstrumentationTestCase2<CameraTwo> {
private static final String CODE_1 = "KEYCODE_DPAD_CENTER";
private static final String CODE_2 = "KEYCODE_HOME";
public TestOne() {
   super ("com.two.camera", CameraTwo.class);
}
@Override
protected void setUp() throws Exception {
   super.setUp();
   CameraTwo mainActivity = getActivity();
}
public void takephoto() {
   sendKeys(CODE_1);
   sleep(1000);
   sleep(1000);
   sendKeys(CODE_2);
   // now on Add button
   sendKeys("ENTER");
   //SECOND METHOD
   Instrumentation i = new Instrumentation();
   i.sendKeyDownUpSync(KeyEvent.KEYCODE_DPAD_CENTER);
   //THIRD METHOD
   KeyEvent eventDown = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_CENTER);
   KeyEvent eventUp = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DPAD_CENTER);
   dispatchKeyEvent(eventDown);
   dispatchKeyEvent(eventUp);
   Object j = null;
// JUST FOR TESTING THAT CODE IS MOVED UPTO HERE OR NOT
   assertTrue("Add result should be 98", j.equals(1));
}
  private void dispatchKeyEvent(KeyEvent eventDown) {
  // TODO Auto-generated method stub
  return;
}
private void sleep(int i) {
// TODO Auto-generated method stub
return;
}
}
I tried by executing the above test using Right click -> run as android junit test and from command line using
$ adb shell am instrument com.two.camera.test/android.test.InstrumentationTestRunner
Please guide me in this regard Thanks in advance