我有一个简单的应用程序,它有一个活动被警报管理器定期调用以显示预览帧并在构建预览帧时拍照。拍照后,它使用 a 保存AsyncTask,活动使用finish(). 当我打开屏幕时,代码工作得很好。但是它无法在屏幕关闭的情况下拍照。我想监视房子并使用该应用程序定期拍照,在这种情况下保持屏幕始终打开或打开它手动不是一个可行的选择。
此外,相机活动的代码已从Commonsware库中复制,效果非常好。我只是在关闭屏幕的情况下拍照时遇到问题。我还可以从日志中看到相机是由活动打开的。但是应该在构建预览帧时拍照的 Runnable 没有运行,而是相机进入暂停状态并停留在那里。
我已经完美设置了必要的权限,因为我能够在屏幕打开的情况下获取图像。也许当屏幕关闭并且有人可以在那里照亮时,我无法理解活动生命周期。
我尝试使用唤醒锁打开屏幕,但这没有任何好处。
下面是活动的代码。
另外我很抱歉,但删除许可证的评论以使其简短。
package com.thopedia.snapper; /***
Copyright (c) 2008-2012 CommonsWare, LLC
*/
import all;
public class CameraActivity1 extends Activity {
private PreviewFrameLayout frame=null;
private SurfaceView preview=null;
private SurfaceHolder previewHolder=null;
private Camera camera=null;
private boolean inPreview=false;
private boolean cameraConfigured=false;
private PowerManager.WakeLock wakeLock;
private PowerManager powerManager;
@SuppressWarnings("deprecation")
@Override
public void onCreate(Bundle savedInstanceState) {
/* powerManager = (PowerManager) getSystemService(POWER_SERVICE);
wakeLock = powerManager.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, getClass()
.getName());*/
Log.v(GlobalVariables.TAG,"CameraActivity On create called");
super.onCreate(savedInstanceState); …Run Code Online (Sandbox Code Playgroud)