如何管理android手机的硬件

时间:2013-01-14 14:34:01

标签: java android

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

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

3 个答案:

答案 0 :(得分:2)

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

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

编辑:

1 - 适用于前置摄像头

答案 1 :(得分:1)

为模拟器创建AVD时,可以选择启用前后摄像头。如果您为模拟器启用了此选项,则可以像使用普通手机(使用相机应用程序或通过系统)一样访问相机。

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

答案 2 :(得分:1)

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


    private void startCamera(){
        //First check if a camera is available
            if(getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA)){ 
                Log.d("CameraApp", "It has a camera");
                Camera cam = Camera.open(); //Start using the camera. From here on out you should be able to access it's functions.     
                cam.unlock();
                cam.startPreview();
            } else {
                Log.d("CameraApp", "It does not have a camera");
                Toast.makeText(this, "No camera available",
                        Toast.LENGTH_SHORT).show();
            }
        }

完成后一定要关闭它。


    private void stopCamera(){
        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