我正在Android应用中使用手机的相机拍照。我使用意图使用内置的摄像头应用程序,我用下面的代码:通过意图使用手机相机 - 活动永不返回?
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(FILEPATH)));
startActivityForResult(intent, ACTIVITY_NATIVE_CAMERA_AQUIRE);
它工作正常并且相机长大。我可以拍照,手机给我三种选择:取消,重拍,OK。前两项工作,按取消返回用户的应用程序,但按OK和没有发生。显然onActivityResult没有被调用,并且相机仅停留在屏幕上。调试器中也没有。
使用Android 2.2.1在Nexus One上运行应用程序。运行Android 2.0的模拟器上出现同样的问题。
编辑:使用HTC Sense UI运行Android 2.2的HTC Desire进行测试:效果非常好。 emalator上也没有Google N1。
EDIT2:看来,HTC Desire的图像aquiring活动的作品在这个意义上更好,它并返回,但它忽略了EXTRA_OUTPUT -setting并返回只有在onActivityResult -call的小图像。在手机挂在电脑上时检查ddms控制台我看到手机正在将图像存储在SD卡上,但路径没有传回给我的应用程序。它开始看起来像没有可靠的方式来使用相机的意图,并找回合理大小的图像。坏,坏,坏。
那么有没有办法避免SD卡?如果它不可用,那么你不能获得全尺寸的图像?我面临类似的问题。这里是我的帖子http://stackoverflow.com/questions/4632231/is-there-any-way-to-store-full-size-image-returned-from-camera-activity-in-intern – Pritam 2011-01-08 03:52:31