I am writing a very small app that just opens the camera app ready for video. I am able to get my code to work on an Android 2.2 emulator, but it will not work on my device, Motorola Droid 1 stock 2.2 FRG22D. Any ideas where I went wrong on this code?
public class StartVid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final int VIDEO = 1;
Intent intent = new Intent();
intent.setClassName("com.android.camera","com.android.camera.VideoCamera");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivityForResult(intent, VIDEO );
finish();
It appears ThorstenW is correct. I would upvote your answer if I had enough rep. You can see from the logcat that com.android.camera could not be found and throws a fatal exception. Logcat below.
D/dalvikvm( 1159): GC_EXTERNAL_ALLOC freed 251 objects / 13456 bytes in 66ms
I/ActivityManager( 1086): Starting activity: Intent { act=android.intent.action.
MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.goatpen.Phobo
s.QSVideo/.StartVid }
I/ActivityManager( 1086): Start proc com.goatpen.Phobos.QSVideo for activity com
.goatpen.Phobos.QSVideo/.StartVid: pid=483 uid=10092 gids={}
E/AndroidRuntime( 483): java.lang.RuntimeException: Unable to start activity Co
mponentInfo{com.goatpen.Phobos.QSVideo/com.goatpen.Phobos.QSVideo.StartVid}: and
roid.content.ActivityNotFoundException: Unable to find explicit activity class {
com.android.camera/com.android.camera.VideoCamera}; have you declared this activ
ity in your AndroidManifest.xml?
E/AndroidRuntime( 483): Caused by: android.content.ActivityNotFoundException: U
nable to find explicit activity class {com.android.camera/com.android.camera.Vid
eoCamera}; have you declared this activity in your AndroidManifest.xml?
You will not believe how easy the solution was. First the motorola droid’s camera app is com.google.android.camera. This is the standard android 2.2 package name. I used adb to pull the file from /data/system/packages.xml to confirm this.
Also there is an intent to open the camera app in video recorder mode. INTENT_ACTION_VIDEO_CAPTURE.
This is the intent to use to call the camera app in video mode.