Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用图书馆CWAC CAM2拍摄时因方向改变而坠毁_Android_Commonsware Cwac_Greenrobot Eventbus - Fatal编程技术网

Android 使用图书馆CWAC CAM2拍摄时因方向改变而坠毁

Android 使用图书馆CWAC CAM2拍摄时因方向改变而坠毁,android,commonsware-cwac,greenrobot-eventbus,Android,Commonsware Cwac,Greenrobot Eventbus,我的Nexus5Android6(锤击/锤击)在使用Commonware库时崩溃cwac:cam2 当我更改录制/拍照活动的方向时。这个错误在我的设备上是系统性的 堆栈跟踪: E / AndroidRuntime: FATAL EXCEPTION: main Process: com.m360learning.android, PID: 9637 java.lang.RuntimeException: Unable to start activity ComponentInfo { com.m

我的Nexus5Android6(锤击/锤击)在使用Commonware库时崩溃
cwac:cam2

当我更改录制/拍照活动的方向时。这个错误在我的设备上是系统性的

堆栈跟踪:

E / AndroidRuntime: FATAL EXCEPTION: main
Process: com.m360learning.android, PID: 9637
java.lang.RuntimeException: Unable to start activity ComponentInfo {
 com.m360learning.android / com.commonsware.cwac.cam2.VideoRecorderActivity
}: de.greenrobot.event.EventBusException: Subscriber class com.commonsware.cwac.cam2.CameraFragment already registered to event class com.commonsware.cwac.cam2.CameraController$ControllerReadyEvent
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java: 2416)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java: 2476)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java: 4077)
at android.app.ActivityThread. - wrap15(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java: 1350)
at android.os.Handler.dispatchMessage(Handler.java: 102)
at android.os.Looper.loop(Looper.java: 148)
at android.app.ActivityThread.main(ActivityThread.java: 5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java: 726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java: 616)
Caused by: de.greenrobot.event.EventBusException: Subscriber class com.commonsware.cwac.cam2.CameraFragment already registered to event class com.commonsware.cwac.cam2.CameraController$ControllerReadyEvent
at de.greenrobot.event.EventBus.subscribe(EventBus.java: 179)
at de.greenrobot.event.EventBus.register(EventBus.java: 165)
at de.greenrobot.event.EventBus.register(EventBus.java: 133)
at com.commonsware.cwac.cam2.CameraFragment.onStart(CameraFragment.java: 123)
at android.app.Fragment.performStart(Fragment.java: 2244)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java: 1002)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java: 1148)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java: 1130)
at android.app.FragmentManagerImpl.dispatchStart(FragmentManager.java: 1958)
at android.app.FragmentController.dispatchStart(FragmentController.java: 163)
at android.app.Activity.performStart(Activity.java: 6274)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java: 2379)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java: 2476) 
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java: 4077) 
at android.app.ActivityThread. - wrap15(ActivityThread.java) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java: 1350) 
at android.os.Handler.dispatchMessage(Handler.java: 102) 
at android.os.Looper.loop(Looper.java: 148) 
at android.app.ActivityThread.main(ActivityThread.java: 5417) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java: 726) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java: 616) 

非常感谢您的支持,修复程序实现得非常快。

问题在于您试图注册服务两次,请在此处输入代码,如跟踪中所示。该服务未注销,因此,最简单的方法是在注册该服务之前检查该服务是否已注册。EventBus.getDefault().isRegistered(…)或check-in onStart是事件服务未停止,因此仍在注册。例如:

if (!EventBus.getDefault().isRegistered(this)) {
    EventBus.getDefault().register(this);
}

请分享一些代码?特别是类
CameraFragment
@GeorgeD:这是来自库的,而操作没有明确解释。@Renaud:您需要使问题更适合堆栈溢出。我理解你在这里的意思,因为我在过去处理过你在这方面的其他问题。然而,堆栈溢出是每个人的网站,而不仅仅是你。你的每一个问题都需要向不知道你或我是谁的人解释,你的问题是什么。仅仅发布堆栈跟踪和有限的解释是不够的。好吧,很抱歉,我应该直接在github上发布它。是的,在这种情况下,这显然是一个bug,可以直接转到问题跟踪程序。基本上,如果你的问题是“这是我的代码,我做错什么了吗?”,这很适合这里。但是任何问题,比如崩溃,都可以通过演示应用程序直接复制,可以直接转到问题跟踪程序。谢谢你,但是,正如Commonware所提到的,问题更多的是关于将错误提交给CWAC贡献者。我不推荐你的解决方案,我认为这里的问题更多的是活动没有在需要的时候正确注销。@RenaudFavier,我认为这是一个错误,因为他们没有处理方向更改,但作为开发人员,这是一个实现问题。因为您必须从记录的事件中注销,或者在注册时进行检查。