0

我正在使用 Android 模拟器和开发平台。

我创建了一个新应用程序,想知道如何关闭或打开 Android 手机摄像头?

4

3 回答 3

2

如果您正在谈论从您的应用程序中打开它,您应该为此使用相机 Intent。

Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
intent.putExtra("android.intent.extras.CAMERA_FACING", 1);
startActivityForResult(intent, 1);

编辑:

1 - 用于前置摄像头

于 2013-01-14T14:40:51.867 回答
1

当您为模拟器创建 AVD 时,有启用前置和后置摄像头的选项。如果您为您的模拟器启用了此选项,您将能够像在普通手机上一样访问相机(使用相机应用程序或通过系统)。

如果您没有看到它,您可能没有在您的模拟器图像上启用相机选项。

于 2013-01-14T14:37:00.157 回答
1

我将假设您已在模拟器上启用了相机,并希望自己访问它的功能,而不是打开现有的相机应用程序。您需要使用 Android 中的功能来实际访问此硬件,并且您还需要授予应用程序使用它的权限。

    私人无效startCamera(){
        //首先检查相机是否可用
            if(getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA)){
                Log.d("CameraApp", "它有一个摄像头");
                摄像头 cam = Camera.open(); //开始使用相机。从这里开始,您应该能够访问它的功能。     
                cam.unlock();
                cam.startPreview();
            } 别的 {
                Log.d("CameraApp", "它没有摄像头");
                Toast.makeText(this, "没有可用的相机",
                        Toast.LENGTH_SHORT).show();
            }
        }

完成后请务必关闭它。

    私人无效停止相机(){
        cam.stopPreview();
        cam.release();
    }

将此添加到您的 AndroidManifest.xml 以授予您的应用权限:

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

每个功能(缩放、自动对焦等)都需要添加自己的权限。

另请参阅此以获取更多信息:http: //developer.android.com/reference/android/hardware/Camera.html

于 2013-01-14T14:52:00.440 回答