我正在使用CrossMobile创建一个应用程序,我想使用相机捕捉并保存我的应用程序中的照片。我还需要访问从应用程序中拍摄的照片,以便在列表中显示它们。如何在按下按钮时显示摄像机视图?
答案 0 :(得分:0)
首先,您可能需要CoreImage插件,否则某些特定权限将无法使用。
在iOS下,您还需要手动在Info.plist中添加NSCameraUsageDescription键(否则,由于Apple的限制,应用程序将崩溃)。
假设你有一个名为cameraButton的UIButton和一个名为imgV的UIImageView,它们都在代码的loadView部分初始化。 然后核心将类似于:
public void loadView() {
// ....
cameraButton.addTarget((sender, event) -> {
if (!UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.Camera))
new UIAlertView(null, "Unable to access camera", null, "Accept").show();
else {
UIImagePickerController picker = new UIImagePickerController();
picker.setSourceType(UIImagePickerControllerSourceType.Camera);
picker.setDelegate(new UIImagePickerControllerDelegate() {
@Override
public void didFinishPickingMediaWithInfo(UIImagePickerController picker, Map<String, Object> info) {
picker.dismissModalViewControllerAnimated(true);
UIImage img = (UIImage) info.get(UIImagePickerController.OriginalImage);
imgV.setImage(img);
}
@Override
public void didCancel(UIImagePickerController picker) {
picker.dismissModalViewControllerAnimated(true);
}
});
presentModalViewController(picker, true);
}
}, UIControlEvents.TouchUpInside);
// ....
}