摩托罗拉设备上的NPE上的CWAC相机崩溃

时间:2014-02-17 21:41:04

标签: android commonsware-cwac

我甚至无法打开CameraDemo-V9应用程序(使用该库的0.6版本)。我正在测试的硬件是摩托罗拉Droid Razr Maxx HD。这是我目前唯一可以访问的物理设备,但是当它在0.4.2版本左右时,该手机可以使用这款手机。我在logcat中得到这个:

    02-17 16:38:17.889: E/AndroidRuntime(4382): Caused by: java.lang.NullPointerException
02-17 16:38:17.889: E/AndroidRuntime(4382):     at com.commonsware.cwac.camera.CameraView.setHost(CameraView.java:87)
02-17 16:38:17.889: E/AndroidRuntime(4382):     at com.commonsware.cwac.camera.acl.CameraFragment.onCreateView(CameraFragment.java:40)
02-17 16:38:17.889: E/AndroidRuntime(4382):     at android.support.v4.app.Fragment.performCreateView(Fragment.java:1500)
02-17 16:38:17.889: E/AndroidRuntime(4382):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927)
02-17 16:38:17.889: E/AndroidRuntime(4382):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
02-17 16:38:17.889: E/AndroidRuntime(4382):     at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
02-17 16:38:17.889: E/AndroidRuntime(4382):     at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1467)
02-17 16:38:17.889: E/AndroidRuntime(4382):     at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:570)
02-17 16:38:17.889: E/AndroidRuntime(4382):     at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1163)
02-17 16:38:17.889: E/AndroidRuntime(4382):     at android.app.Activity.performStart(Activity.java:5068)
02-17 16:38:17.889: E/AndroidRuntime(4382):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2073)

这似乎发生在这一行:

if (host.getDeviceProfile().useTextureView()) {

这种方法:

public void setHost(CameraHost host) {

    this.host = host;
    if (host.getDeviceProfile().useTextureView()) {
        previewStrategy = new TexturePreviewStrategy(this);
    } else {
        previewStrategy = new SurfacePreviewStrategy(this);
    }

}

我觉得这可能只是我现在如何设置库的问题,因为我没有导入任何jar,我只是下载了zip,我正在导入两个库项目。任何人都可以证实我的定居似乎是“合法的”吗?我唯一的另一个想法是检查以前的问题,但似乎这个one可能已经解决,因为最新版本(6.0)发布时。也许这是因为它们都是摩托罗拉设备,但也许这是一个不正确的假设?

注意:在我看到屏幕上的任何内容之前,我遇到了崩溃。没有预览或任何东西。

1 个答案:

答案 0 :(得分:0)

这是一个错误,因为我的投资组合中没有足够的摩托罗拉设备而错过了我的新getDefaultProfile()实施中的缺陷。跟踪the bug that you linked to并快速观察0.6.1版本。我为麻烦道歉,谢谢你让我知道!