由于按下最右边的按钮查看打开的应用程序或让手机进入睡眠状态,我试图让程序在调用 onPause 和 onStop 后正确恢复。我不熟悉正确的电话是什么。我已经查找了一些关于此的信息,但我发现的只是人们说在 onPause 中调用 super.onPause,在 onResume 中调用 super.onResume,然后编写我的代码。然而,这段代码不是我的,并且在恢复时崩溃并出现错误:java.lang.RuntimeException: Unable to resume activity {org.tensorflow.lite.examples.detection/org.tensorflow.lite.examples.detection.DetectorActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.hardware.Camera.startPreview()' on a null object reference
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.hardware.Camera.startPreview()' on a null object reference代码可在以下位置找到: https: //github.com/tensorflow/examples/blob/master/lite/examples/object_detection/android/app/src/main/java/org/tensorflow/lite/examples/detection/LegacyCameraConnectionFragment .java关于这一切, 我有两个问题:我可以通过注释掉第 185-187 行让相机正确重启,但我不知道这是否是正确的方法。评论?想法?即使这有效,主要活动也不会重新启动。这是这里的实际主要问题。我还认为这段代码一定有问题,但无法弄清楚它是什么。关于如何解决它的任何建议?主要活动代码链接: https://github.com/tensorflow/examples/blob/master/lite/examples/object_detection/android/app/src/main/java/org/tensorflow/lite/examples/detection/CameraActivity.java
1 回答
倚天杖
TA贡献1828条经验 获得超3个赞
由于某种原因,我在问题中所做和提到的更改并没有解决问题。我想这与调用 onStop 后未正确设置回调或新的后台线程改变了什么有关?
为了修复它,我添加了
textureView.getSurfaceTextureListener().onSurfaceTextureAvailable(textureView.getSurfaceTexture(), textureView.getWidth(), textureView.getHeight());
在 Legacy... .java 文件的第 152 行之前。
添加回答
举报
0/150
提交
取消