我做了一个程序,主要功能是用API拍照,然后把照片存到我给的路径里。
但与我在模拟器或使用 Google 原始 ROM 的手机上进行测试时相比,不同手机上的结果不尽相同。
理论上。如果我给 Intent 一个路径,照片不应该出现在手机的默认图库中,但在 MOTO Defy 上,照片存储在我的路径和默认图像目录中。在三星上,我的应用程序在从相机 Intent 返回时无声崩溃。只有在某些手机上,我才能通过按相机 Activity 中的菜单按钮调出菜单。甚至其中一些将照片保存为我在 Camera Activity 的设置菜单中设置的大小。
我认为这是因为制造商在他们的手机上定制了 ROM,因此 Camera Activity 的行为有所不同。
有人知道如何避免这种情况吗?或者是否有任何其他方式不是按 Intent 拍摄照片 "android.media.action.IMAGE_CAPTURE"
?
下面是我拍照的代码。
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(getpath()+"_.jpg")));
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(intent, 0);
最佳答案
当我尝试时,@balban shah 提供的方式完全一样。
最后我发现是因为不同厂商定制了他们的Rom,包括Camera app,所以最好的办法是不要调用默认的camera app,而是我们可以写一个activity使用hardware.camera
来拍照片。互联网上也有很多这方面的例子。
关于android - 为什么在不同的安卓手机上正常拍照这么难?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6758671/