gpt4 book ai didi

安卓:takePicture 挂起

转载 作者:太空狗 更新时间:2023-10-29 14:23:46 25 4
gpt4 key购买 nike

我正在尝试拍照,但在调用 takePicture 时照片挂起。不会产生异常。我的代码在从服务启动的 AsyncTask 中运行。未使用任何 Activity ,也不得使用任何 Activity 。我在 Android 2.3.6 上运行这个。我可以等几分钟,永远不会调用 onPictureTaken。

代码:

import android.annotation.SuppressLint;
import android.hardware.Camera;
import android.hardware.Camera.PictureCallback;
import android.os.AsyncTask;
import android.os.Build;

public class CameraAsyncTask extends AsyncTask<Void, Void, Boolean> implements Camera.PictureCallback
{
private Camera camera;

@Override
protected Boolean doInBackground(Void... params)
{
this.camera = Camera.open();
this.camera.takePicture(null, null, (PictureCallback) this);
this.camera.release();
}

@Override
protected void onPostExecute(Boolean succeeded)
{
}

public void onPictureTaken(byte[] data, Camera camera)
{
}
}

list :

<?xml version="1.0" encoding="utf-8"?>
<manifest>

<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />

<uses-permission android:name="android.permission.CAMERA" />

<uses-feature
android:name="android.hardware.camera"
android:required="false" />
<uses-feature
android:name="android.hardware.camera.autofocus"
android:required="false" />

</manifest>

最佳答案

您需要在拍照前调用 this.camera.startPreview() ,然后在拍照后调用 stopPreview() 。此外,如果您调用 release,就像您在示例中所做的那样,您的回调将永远不会执行

关于安卓:takePicture 挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14254519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com