Giter Site home page Giter Site logo

wildma / idcardcamera Goto Github PK

View Code? Open in Web Editor NEW
1.2K 16.0 242.0 8.08 MB

:fire:Android自定义相机实现身份证拍照,并加入自动对焦与图片不规则裁剪。 https://www.jianshu.com/p/5e3cb0c63cd5

License: Apache License 2.0

Java 100.00%
custom-camera id-card-camera autofocus-camera irregular-cutting-of-pictures

idcardcamera's Issues

BUG提交

拍照过程中息屏再亮,摄像头会诡异的翻转

自动裁剪有bug

#1402 java.lang.IllegalArgumentException
x + width must be <= bitmap.width()
com.wildma.idcardcamera.camera.CameraActivity
/自动裁剪/
mCropBitmap = Bitmap.createBitmap(bitmap,
(int) (left * (float) bitmap.getWidth()),
(int) (top * (float) bitmap.getHeight()),
(int) ((right - left) * (float) bitmap.getWidth()),
(int) ((bottom - top) * (float) bitmap.getHeight()));
在OPPO PBEM00手机上会闪退

兼容性问题

java.lang.RuntimeException: Camera is being used after Camera.release() was called
at com.wildma.idcardcamera.camera.CameraActivity.takePhoto(CameraActivity.java:201)

建议作者加上 mCamera.setPreviewCallback(null);

java.lang.RuntimeException Camera is being used after Camera.release() was called

android.hardware.Camera.setHasPreviewCallback(Native Method)
2 android.hardware.Camera.setOneShotPreviewCallback(Camera.java:1263)
3 com.wildma.idcardcamera.camera.CameraActivity.takePhoto(CameraActivity.java:202)
4 com.wildma.idcardcamera.camera.CameraActivity.onClick(CameraActivity.java:177)
5 android.view.View.performClick(View.java:6627)
6 android.view.View.performClickInternal(View.java:6604)
7 android.view.View.access$3100(View.java:785)
8 android.view.View$PerformClick.run(View.java:26115)
9 android.os.Handler.handleCallback(Handler.java:873)
10 android.os.Handler.dispatchMessage(Handler.java:99)
11 android.os.Looper.loop(Looper.java:224)
12 android.app.ActivityThread.main(ActivityThread.java:7098)
13 java.lang.reflect.Method.invoke(Native Method)
14 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:537)
15 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:876)

少数机型点击拍照崩溃

#4 java.lang.RuntimeException
takePicture failed

com.wildma.idcardcamera.camera.CameraPreview.takePhoto(CameraPreview.java:201)

拍照后,关闭红色的X会崩溃退出

java.lang.RuntimeException: startPreview failed
at android.hardware.Camera.startPreview(Native Method)
at com.rytad.widget.idCardCamera.camera.CameraPreview.startPreview(CameraPreview.java:232)
at com.rytad.widget.idCardCamera.camera.CameraActivity.onClick(CameraActivity.java:197)
at android.view.View.performClick(View.java:5642)
at android.view.View$PerformClick.run(View.java:22485)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6211)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:793)

Camera is being used after Camera.release() was called

android.hardware.Camera.setHasPreviewCallback(Native Method)

android.hardware.Camera.setOneShotPreviewCallback(Camera.java:967)
com.wildma.idcardcamera.camera.CameraActivity.takePhoto(CameraActivity.java:273)
com.wildma.idcardcamera.camera.CameraActivity.onClick(CameraActivity.java:248)
android.view.View.performClick(View.java:6663)
android.view.View.performClickInternal(View.java:6635)
android.view.View.access$3100(View.java:794)
android.view.View$PerformClick.run(View.java:26199)
android.os.Handler.handleCallback(Handler.java:907)
android.os.Handler.dispatchMessage(Handler.java:105)

闪光灯

发现在无闪光灯的机型中(例如模拟器中,无闪光灯)的情况下,崩溃的问题.建议做一个判断闪光灯的处理

对焦代码经常崩溃。

#2302 java.lang.RuntimeException
autoFocus failed

com.wildma.idcardcamera.camera.CameraPreview.focus(CameraPreview.java:169)

android.hardware.Camera.native_autoFocus(Native Method)

2 android.hardware.Camera.autoFocus(Camera.java:1164)
3 com.wildma.idcardcamera.camera.CameraPreview.focus(CameraPreview.java:169)
4 com.wildma.idcardcamera.camera.CameraPreview$1.onFocus(CameraPreview.java:59)
5 com.wildma.idcardcamera.camera.SensorControler.onSensorChanged(SensorControler.java:115)
6 android.hardware.SystemSensorManager$SensorEventQueue.dispatchSensorEvent(SystemSensorManager.java:804)
7 android.os.MessageQueue.nativePollOnce(Native Method)
8 android.os.MessageQueue.next(MessageQueue.java:138)
9 android.os.Looper.loop(Looper.java:123)
10 android.app.ActivityThread.main(ActivityThread.java:5143)
11 java.lang.reflect.Method.invokeNative(Native Method)
12 java.lang.reflect.Method.invoke(Method.java:515)
13 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
14 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
15 dalvik.system.NativeStart.main(Native Method)

华为 nova 3e,打开拍照界面,黑屏+闪退

java.lang.RuntimeException: Camera is being used after Camera.release() was called
at android.hardware.Camera.setHasPreviewCallback(Native Method)
at android.hardware.Camera.setOneShotPreviewCallback(Camera.java:967)
at com.wildma.idcardcamera.camera.CameraActivity.d(CameraActivity.java:201)
at com.wildma.idcardcamera.camera.CameraActivity.onClick(CameraActivity.java:176)
at android.view.View.performClick(View.java:6659)
at android.view.View.performClickInternal(View.java:6631)
at android.view.View.access$3100(View.java:790)
at android.view.View$PerformClick.run(View.java:26187)
at android.os.Handler.handleCallback(Handler.java:907)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:216)
at android.app.ActivityThread.main(ActivityThread.java:7625)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)

There is a runtimeException

java.lang.RuntimeException: Camera is being used after Camera.release() was called
at android.hardware.Camera.setHasPreviewCallback(Native Method)
at android.hardware.Camera.setOneShotPreviewCallback(Camera.java:967)
at com.wildma.idcardcamera.camera.CameraActivity.takePhoto(CameraActivity.java:2)
at com.wildma.idcardcamera.camera.CameraActivity.onClick(CameraActivity.java:8)

旋转屏幕时可能崩溃

log:
#1804 android.content.res.Resources$NotFoundException
Resource ID #0x7f0b0020
com.wildma.idcardcamera.camera.CameraActivity.init(CameraActivity.java:131)

Activity配置下android:configChanges="orientation"

裁剪崩溃

main(1)

java.lang.IllegalArgumentException

height must be > 0
1 android.graphics.Bitmap.checkWidthHeight(Bitmap.java:572)

2 android.graphics.Bitmap.createBitmap(Bitmap.java:928)
3 android.graphics.Bitmap.createBitmap(Bitmap.java:896)
4 com.wildma.idcardcamera.cropper.CropOverlayView.crop(CropOverlayView.java:373)
5 com.wildma.idcardcamera.cropper.CropImageView.crop(CropImageView.java:53)
6 com.wildma.idcardcamera.camera.CameraActivity.confirm(CameraActivity.java:280)
7 com.wildma.idcardcamera.camera.CameraActivity.onClick(CameraActivity.java:195)

New Android 13 permissions / Android 13 的新权限

请问您会适配新的 Android 13 权限吗?目前如果 app 的 "targetSdkVersion = 33" 会面对权限问题.

Hi, will you update the code to support Android 13? Currently, applications who have "targetSdkVersion = 33" will be facing permission issues.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.