我使用androids默认相机捕获,然后使用裁剪库拍摄照片,然后将其裁剪为正方形以显示在下一个布局上,存储在设备上的图片以及在数据库上创建的记录。
Intent camera_intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
camera_intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(image_file));
startActivityForResult(camera_intent, CAM_REQUEST);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode==2 || requestCode == 6709) {
if (resultCode == RESULT_CANCELED) {
} else if (resultCode == RESULT_OK) {
//Crop.pickImage(this);
if (requestCode == Crop.REQUEST_CROP && resultCode == RESULT_OK) {
//doSomethingWithCroppedImage(outputUri);
setResult(resultCode);
} else {
File cropme = new File(tempPicture[4]);
if (Build.VERSION.SDK_INT >= 24) {
try {
Method m = StrictMode.class.getMethod("disableDeathOnFileUriExposure");
m.invoke(null);
} catch (Exception e) {
e.printStackTrace();
}
}
new Crop(Uri.fromFile(cropme)).output(Uri.fromFile(cropme)).asSquare().start(this);
}
}
}
问题是如下所示有一个图片确认页面是多余的,如果我能够将其删除,将为用户节省大量时间。
如何编辑默认的相机捕捉活动或在线使用其他相机模板?
我希望让流程尽可能高效,所以如果有更好的方法,请告诉我。
答案 0 :(得分:2)
问题是如下所示有一个图片确认页面是多余的,如果我能够将其删除,将为用户节省大量时间。
请勿使用ACTION_IMAGE_CAPTURE
。直接使用相机API(例如android.hardware.Camera
,android.hardware.camera2.*
)或通过包装它们的库(例如,CameraKit-Android,Fotoapparat)。
如何编辑默认的相机捕捉活动
有大约10,000个Android设备型号。它们带有数十种(如果不是数百种)不同的相机应用程序。另外,用户自己安装。其中任何一个都可以回复ACTION_IMAGE_CAPTURE
。是否有任何确认屏幕取决于这些应用程序的开发人员,而不是您。如果您想完全控制相机体验,请不要将拍照委托给ACTION_IMAGE_CAPTURE
,而是编写自己的相机代码。