首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓9上摄像头"1“的Sinch VideoCaptureThread问题

安卓9上摄像头"1“的Sinch VideoCaptureThread问题
EN

Stack Overflow用户
提问于 2019-02-11 12:59:16
回答 1查看 402关注 0票数 1

我正在做一个小应用,我使用sinch进行视频通话,它在android 8.1和更低版本上运行良好。但在android 9上,当我进行视频通话时,我的应用程序会崩溃。这就是错误:

代码语言:javascript
复制
2019-02-11 11:36:56.895 1638-2821/? E/AndroidRuntime: FATAL EXCEPTION: VideoCapturerThread
Process: com.example.myapp.app, PID: 1638
java.lang.SecurityException: validateClientPermissionsLocked:1054: Caller "com.example.myapp.app" (PID 10319, UID 1638) cannot open camera "1" without camera permission
    at android.hardware.camera2.CameraManager.throwAsPublicException(CameraManager.java:747)
    at android.hardware.camera2.CameraManager.openCameraDeviceUserAsync(CameraManager.java:405)
    at android.hardware.camera2.CameraManager.openCameraForUid(CameraManager.java:567)
    at android.hardware.camera2.CameraManager.openCamera(CameraManager.java:495)
    at org.webrtc.Camera2Session.openCamera(Unknown Source:44)
    at org.webrtc.Camera2Session.start(Unknown Source:60)
    at org.webrtc.Camera2Session.<init>(Unknown Source:73)
    at org.webrtc.Camera2Session.create(Unknown Source:17)
    at org.webrtc.Camera2Capturer.createCameraSession(Unknown Source:17)
    at org.webrtc.CameraCapturer$5.run(Unknown Source:52)
    at android.os.Handler.handleCallback(Handler.java:891)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:207)
    at android.os.HandlerThread.run(HandlerThread.java:65)`
EN

回答 1

Stack Overflow用户

发布于 2019-02-11 13:44:21

尝试使用此方法进行摄像头视频捕获可能会帮助您:-

代码语言:javascript
复制
public void dispatchTakeVideoIntent() {
        PermissionUtil.with(this).setCallback(new PermissionUtil.PermissionGrantedListener() {
            @Override
            public void onPermissionResult(boolean isGranted, int requestCode) {
                if (isGranted) {
                    Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
                    if (takeVideoIntent.resolveActivity(getPackageManager()) != null) {
                        startActivityForResult(takeVideoIntent, AppConstants.REQUEST_CODE.REQUEST_VIDEO_CAPTURE);
                    }
                }
            }
        }).validate(Manifest.permission.CAMERA);
    }

对于权限实用程序,请检查此链接https://www.truiton.com/2016/04/obtaining-runtime-permissions-android-marshmallow-6-0/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54624194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档