【问题标题】:Android NativeCamera open with intent with camera flash off modeAndroid NativeCamera 在相机闪光灯关闭模式下打开意图
【发布时间】:2014-11-03 10:02:02
【问题描述】:

我需要在 FlashMode 关闭的情况下显示 Android 原生相机(使用意图)。

我已经读过 Intent 参数不会得到保证的结果,因为它取决于电话设备的实现。

有人可以确认一下吗?我找不到这方面的官方信息

String fileName = "new-photo-name.jpg";
//create parameters for Intent with filename
        ContentValues values = new ContentValues();
        values.put(MediaStore.Images.Media.TITLE, fileName);
        values.put(MediaStore.Images.Media.DESCRIPTION, "Image capture by camera");
//imageUri is the current activity attribute
        Uri imageUri = getContentResolver().insert(
                MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
//create new Intent
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        intent.putExtra("android.intent.extras.FLASH_MODE_OFF",1);
        intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
        startActivityForResult(intent, 1);

【问题讨论】:

    标签: android flash camera


    【解决方案1】:

    为此,您应该这样做:

    1. 检查闪光灯是否亮 有没有?

    2. 如果是,则关闭/打开

    3. 如果没有,那么你可以根据你的应用做任何事情。 需要

    对于检查设备中闪存的可用性

    你可以使用下面的

     context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);
    

    如果闪存可用则返回 true,否则返回 false。

    更多信息请参见http://developer.android.com/reference/android/content/pm/PackageManager.html

    用于打开/关闭手电筒:

    我在 Google 上搜索到了有关 android.permission.FLASHLIGHT 的信息。 Android manifests 的权限看起来很有希望:

     <!-- Allows access to the flashlight -->
     <permission android:name="android.permission.FLASHLIGHT"
                 android:permissionGroup="android.permission-group.HARDWARE_CONTROLS"
                 android:protectionLevel="normal"
                 android:label="@string/permlab_flashlight"
                 android:description="@string/permdesc_flashlight" />
    

    然后使用Camera 并设置Camera.Parameters。这里使用的主要参数是FLASH_MODE_TORCH

    例如。

    打开相机闪光灯的代码片段。

    Camera cam = Camera.open();     
    Parameters p = cam.getParameters();
    p.setFlashMode(Parameters.FLASH_MODE_TORCH);
    cam.setParameters(p);
    cam.startPreview();
    

    代码 sn-p 关闭相机 LED 灯。

      cam.stopPreview();
      cam.release();
    

    【讨论】:

    • 感谢 Himanshu 的快速响应,但我想我需要使用意图打开 CameraPreview。我会更新我的问题,因为我不准确。
    • 你可以检查this打开相机并使用上面的代码来打开或关闭闪光灯
    • Himanshu Agarwal ,,你能帮我处理一下stackoverflow.com/questions/26714771/…
    猜你喜欢
    • 1970-01-01
    • 2011-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-20
    • 2011-10-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多