我们正在尝试使用原生相机应用程序让用户拍摄新照片.如果我们省略EXTRA_OUTPUT extra并返回小的Bitmap图像,它就可以正常工作.但是,如果我们putExtra(EXTRA_OUTPUT,...)在启动它之前处于意图状态,那么一切都会有效,直到您尝试点击相机应用程序中的"确定"按钮."确定"按钮无效.相机应用程序保持打开状态,没有任何锁定.我们可以取消它,但文件永远不会被写入.我们究竟要做什么ACTION_IMAGE_CAPTURE才能将拍摄的照片写入文件?
编辑:这是通过MediaStore.ACTION_IMAGE_CAPTURE意图完成的,只是为了清楚
camera android return-value android-intent android-camera-intent
我正在尝试拍照并将其保存到文件中.问题出现了我试图将位图保存到文件.这是我的代码:
private void takePic() {
Intent cameraIntent = new Intent(
android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, 2);
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 2) {
Bitmap photo = (Bitmap) data.getExtras().get("data");
ImageView test = (ImageView) findViewById(R.id.test);
test.setImageBitmap(photo);
try {
FileOutputStream out = new FileOutputStream("filename");
photo.compress(Bitmap.CompressFormat.JPEG, 90, out);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
和logcat中的例外:
04-02 14:46:51.975: W/IInputConnectionWrapper(2225): showStatusIcon on inactive InputConnection
04-02 14:46:56.135: W/System.err(2225): java.io.FileNotFoundException: /filename (Read-only file system)
04-02 …Run Code Online (Sandbox Code Playgroud)