我有一个只绘制三角形的动态壁纸,非常简单,并且一直运行顺畅。经过测试发现,当我打开相机拍照时,手机会冻结约10秒钟,然后相机打开,壁纸崩溃,并显示“不幸的是,动态壁纸已停止”。出现。还发现当我打开任何条形码扫描仪应用程序时问题再次出现,因为扫描仪也使用了相机。似乎相机应用程序运行时出现问题。是什么原因导致它?
答案 0 :(得分:0)
嗨@Bullet相机只是打开的,如果它通过任何其他应用程序打开然后,你可以无法访问你的相机,解决方案是,你使用相机请在没有使用后释放它。
主要问题是,在您的应用程序中(您正在使用相机的应用程序),因此,您在使用后释放相机。
如下:
@Override
public void onPause() {
// TODO Auto-generated method stub
super.onPause();
if (camera != null) {
camera.stopPreview();
camera.release();
camera = null;
}
}
何时需要
private void releaseCameraAndPreview() {
if (camera != null) {
camera.release();
camera = null;
}
}
或
public void stopCamera() {
if (cameraDevice != null) {
cameraDevice.stopPreview();
cameraDevice.setPreviewCallback(null);
cameraDevice.release();
cameraDevice = null;
System.out.println("in to the stop video");
}
}