【发布时间】:2019-09-26 07:19:56
【问题描述】:
我是移动开发的新手,我正在开发一个应用程序,对于该应用程序,我需要在拍摄照片的确切时刻获取时间。我想从服务器获取准确的时间,所以我需要调用一个方法,因为 exif 数据中的时间不够准确。我正在使用相机意图,但这显示了结果,需要在调用下一个代码之前进行确认。使用camera-intent拍照时有没有办法调用代码或方法。
这是我现在拥有的代码。我正在调用 dispatchTakePictureIntent 并且该方法将启动意图。 onActivityResult 然后会得到相机的结果,但是调用这个方法的那一刻是在确认之后。
public void dispatchTakePictureIntent(View view) {
PackageManager pckMgr = getPackageManager();
if (pckMgr.hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY)){
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
} else {
Toast.makeText(getApplicationContext(), "Camera werkt niet ",Toast.LENGTH_LONG).show();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (RESULT_OK == resultCode) {
// Get Extra from the intent
Bundle extras = data.getExtras();
// Get the returned image from extra
Bitmap bmp = (Bitmap) extras.get("data");
imageView = (ImageView) findViewById(R.id.imageView6);
imageView.setImageBitmap(bmp);
}
}
所以我想调用一个方法来保存拍摄照片的确切时间。我也搜索过是否有办法摆脱这个确认屏幕,但似乎没有,但这也是一个很好的解决方案。
【问题讨论】:
-
您必须创建自己的自定义相机类。供参考github.com/wuapnjie/ACamera
-
不要直接获取位图可能会模糊使用此developer.android.com/training/camera/photobasics.html#TaskPath
-
是的,使用 camera2 api 是最好的方法,因为当您打开相机意图时很难跟踪,因为您超出了应用程序的范围
标签: android android-camera-intent