【发布时间】:2013-07-29 09:10:32
【问题描述】:
我正在尝试使用内置相机应用程序拍摄照片并通过 ImageView 进行查看。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_photo);
addButtonListeners();
startCamera();
}
private void startCamera() {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, PHOTO_TAKEN);
}
protected void onActivityResult(int requestCode, int resultCode,
Intent intent) {
if (requestCode == PHOTO_TAKEN) {
Bundle extras = intent.getExtras();
photo = (Bitmap) extras.get("data");
if (photo != null) {
ImageView image = (ImageView) findViewById(R.id.image_background);
image.setImageBitmap(photo);
} else {
Toast.makeText(this, R.string.unable_to_read_photo, Toast.LENGTH_LONG)
.show();
}
}
}
当将手机放在纵向位置时,此代码可以正常工作,但是当我以横向方式拍摄照片时它会中断,有什么想法为什么或如何解决这个问题?
【问题讨论】:
-
断了是什么意思?您在 logcat 控制台中遇到什么错误?
-
欢迎使用“独立于平台的 Java 和 Android”,我敢打赌,您的代码可以在 XXX 设备上运行,而在 +1 上则不行。告诉多少次:音频和视频应该在本机模式下处理,并且取决于设备,不管文档怎么说?!
-
嗨,什么是坏的,它是怎么坏的?请粘贴一些
LogCat输出.. -
尝试在清单文件中添加配置更改:键盘或者只是在配置更改方法上调用一个函数......
标签: android camera photo landscape