How to wrap the code to take photo from camera in android enviroment

I want to take photo from camera in my game. I need to support android. I want write a static method “pickPhoto()” to pick photo, and then call this static method from C*+ with JniHelper.
There are some problems that I can’t solve.
1, Should I write a class which inherited from android.app.Activity? Only subclass of Activity can start a new Activity, and get the result of the activity.
2, how to start an new instance of class PhotoPickerActivity?
3, should I write a loop to wait the result after user do something?
4, which data type can pass the image data to c*+? I’m not familar with java.
#
public class PhotoPickerActivity extends Activity
{

public static void pickPhoto(int[] data)
{
// code to pick the image data
}

protected void onCreate(Bundle savedInstanceState)
{
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(takePictureIntent, CAMERA_WITH_DATA);
}

protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if(requestCode PHOTO_PICKED_WITH_DATA && resultCode RESULT_OK)
{
Bundle extras = intent.getExtras();
m_pImageBitmap = (Bitmap) extras.get(“data”);
}
}

private static final Bitmap* m_pImageBitmap;
}
#