拍照问题对不同的版本不同 有时候结果为空
public boolean hasImageCaptureBug() {
// list of known devices that have the bug
ArrayList<String> devices = new ArrayList<String>();
devices.add("android-devphone1/dream_devphone/dream");
devices.add("generic/sdk/generic");
devices.add("vodafone/vfpioneer/sapphire");
devices.add("tmobile/kila/dream");
devices.add("verizon/voles/sholes");
devices.add("google_ion/google_ion/sapphire");
return devices.contains(android.os.Build.BRAND + "/" + android.os.Build.PRODUCT + "/"
+ android.os.Build.DEVICE);
}
参看
http://code.google.com/p/android/issues/detail?id=1480
Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
if (hasImageCaptureBug()) {
i.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File("/sdcard/tmp")));
} else {
i.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
}
startActivityForResult(i, mRequestCode);
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
switch (requestCode) {
case GlobalConstants.IMAGE_CAPTURE:
Uri u;
if (hasImageCaptureBug()) {
File fi = new File("/sdcard/tmp");
try {
u = Uri.parse(android.provider.MediaStore.Images.Media.insertImage(getContentResolver(), fi.getAbsolutePath(), null, null));
if (!fi.delete()) {
Log.i(t, "Failed to delete " + fi);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
} else {
u = intent.getData();
}
}
其他的插入操作
File imageDirectory = new File("/sdcard/signifio");
String path = imageDirectory.toString().toLowerCase();
String name = imageDirectory.getName().toLowerCase();
ContentValues values = new ContentValues();
values.put(Media.TITLE, "Image");
values.put(Images.Media.BUCKET_ID, path.hashCode());
values.put(Images.Media.BUCKET_DISPLAY_NAME,name);
values.put(Images.Media.MIME_TYPE, "image/jpeg");
values.put(Media.DESCRIPTION, "Image capture by camera");
values.put("_data", "/sdcard/signifio/1111.jpg");
uri = getContentResolver().insert( Media.EXTERNAL_CONTENT_URI , values);
Intent i = new Intent("android.media.action.IMAGE_CAPTURE");
i.putExtra(MediaStore.EXTRA_OUTPUT, uri);
startActivityForResult(i, 0);
private void saveFullImage() {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File file = new File(Environment.getExternalStorageDirectory(), "test.jpg");
outputFileUri = Uri.fromFile(file);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(intent, TAKE_PICTURE);
}
分享到:
相关推荐
Android11 适配,拍照问题。兼容Android11 targetSDk 31。有拍照功能和从相册选择图片,获取图片路径,保存图片。关联文章https://blog.csdn.net/u013778491/article/details/125638960
### Android拍照问题解决 #### 知识点一:Android不同版本中的权限管理变化 在不同的Android版本中,系统对应用权限的管理有着显著的变化。这些变化主要体现在Android 4.0(Ice Cream Sandwich)、5.0(Lollipop)...
Android调用系统图片裁剪限定尺寸及7.0照相问题的解决方法 Android调用系统图片裁剪限定尺寸是指在Android系统中,使用系统自带的图片裁剪功能对图片进行裁剪处理,以满足不同的需求,例如裁剪图片的尺寸,调整图片...
android 7.0拍照问题,自己项目开发中遇到的问题希望对你们有用
相机拍照问题涉及到多个技术层面,包括硬件性能、软件优化以及用户交互设计。在本文中,我们将深入探讨“相机拍照,多张显示,三星手机拍照横竖屏切换防止异常问题”这一主题,主要关注“相机生命周期”这一关键知识...
在构建一个支持手机网站拍照、压缩并上传至服务器的功能时,我们需要关注几个关键知识点。首先,这个实例涉及到了HTML5的API,特别是`<input type="file">`标签用于选择图片,以及`FileReader` API用于读取和预览...
在实际应用中,还需要考虑兼容不同设备、处理相机权限请求、优化性能等方面的问题。同时,随着Android系统的更新,Camera2 API逐渐取代了旧版的Camera API,提供更丰富的功能和更好的性能。不过,Camera2 API的使用...
在ASP.NET中集成Flash技术实现在线拍照功能,是一种常见的网页交互设计,特别是在需要用户上传个人照片或进行实时图像处理的应用中。以下将详细介绍这个过程涉及的关键知识点。 首先,我们需要了解ASP.NET的基础。...
调用Android系统拍照功能后,三星手机拍摄后的照片被旋转了90度,横着拍给你变成竖的,竖的拍给你变成横的。其它品牌的手机都是正常的,就三星出现这个怪事。 在Android适配上,我原来一直以为国内的小米手机够奇葩...
针对不同Android版本和设备,可能存在兼容性问题,如相机权限处理、硬件特性差异等,需要编写适当的错误处理代码,并使用`Support Library`或`AndroidX`库以支持更低版本的Android系统。 10. **用户交互**: 提供...
网页照相机是一款功能丰富的在线工具,专为用户提供网页拍照和截图服务。这款工具的独特之处在于其便捷性和灵活性,用户无需安装任何桌面应用,只需通过浏览器访问该服务,就能轻松保存网页为图片。以下是对这款工具...
本教程将深入探讨如何解决Android拍照时出现的竖拍照片横向显示的问题。这个问题通常出现在使用SurfaceView来显示相机预览,并通过Camera类进行拍照操作时。 首先,我们需要了解Android中的Camera类。Camera类是...
总之,在Android 7.0及更高版本开发中,确保正确处理权限申请、文件路径配置以及遵循最佳实践,可以有效地解决拍照和存储图片的问题。遵循上述步骤,你的应用将能够顺利地在用户设备上进行拍照并保存图片。
7. **兼容性问题**:由于Android版本众多,不同设备可能对API支持程度不同,开发者需要考虑API版本适配,比如使用Support Library或AndroidX库。 8. **性能优化**:在处理图像和视频数据时,要考虑内存占用和性能。...
在Android开发中,有时我们需要实现一些特殊的相机功能,比如不预览的拍照或者后台拍照。这些需求可能出现在一些需要高效能、低资源消耗或者隐私保护的...在实际开发中,还需考虑错误处理、性能优化、内存管理等问题。
车险查勘定损照相相关问题及解决方案精选.pptx
例如,可以设置合适的拍照间隔,避免连续快速拍照导致的性能问题。此外,考虑在不需要拍照时释放相机资源,以节省电池。 总结,实现Android后台连续静默拍照涉及了权限管理、相机API的使用、服务的创建与管理、静音...
6. **服务器端处理**:上传的图片需要在服务器端存储,这涉及到文件系统操作、数据库交互以及安全问题,如防止重复上传、权限控制等。 7. **错误处理**:在拍照、选择图片或上传过程中可能出现各种错误,如用户拒绝...
在实际开发中,还需要考虑各种异常处理、权限申请(Android 6.0及以上需要运行时权限)以及性能优化等问题。此外,为了提供良好的用户体验,可以添加动画效果,如对焦时的放大或震动反馈,以及拍照后的短暂延迟显示...