android - 如何以编程方式打开手电筒闪光灯

标签 android

我使用的是 LG Optimus 3D 模型,当我将相机切换到视频录制模式时,我可以打开手电筒。在正常拍摄模式下,我只能打开闪光灯。

我尝试了几种方法,将不同的参数添加到 Camera 对象中,但都不起作用。我的代码如下:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_flash_light);



    PackageManager pm = getPackageManager();

    if (! pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)){
        Toast.makeText(this, "Your phone does not have flash light support.", Toast.LENGTH_LONG).show();
        finish();
    }

    camera = Camera.open(); 
    cParameters = camera.getParameters();



    cParameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
camera.setParameters(cParameters);

}

没关系,我无法以编程方式打开它,我已经检查如下以确保我的手机支持手电筒模式,事实上,我真的能够为我的设备打开它。

List<String> abc = cParameters.getSupportedFlashModes();

        for (String a : abc){
            Log.d("mode: ", a);
}

请帮忙,无论如何要做到这一点? * 固件为2.2

最佳答案

使用以下内容

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

查看闪光灯是否可用。它将返回 true 或 false。

更多关于如何实际实现代码的信息。

How to turn on the Android Flashlight

Use camera flashlight in Android

How to turn on camera flash light programmatically in Android?

关于android - 如何以编程方式打开手电筒闪光灯,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12234812/

相关文章:

android - 首选项和操作栏中的开/关切换按钮 - Ice Cream Sandwich 风格

android - 有谁知道 Firebase 是否可以针对查询通知适配器。

android - 修复使用 Android NDK 和 std::vector 时的 Eclipse 错误

android - 如何在 ScrollView 中包装相对布局?

java - 将值发送到 android ndk 中的 C 并获取示例(if)响应

java - PagerSlidingTabStrip:ViewPager 选项卡右对齐

android - 在 Android Java 类中调用 "getContentResolver "

android - Appium - 无法使用 xpath 定位 android 元素

android - 为什么即使被要求不绑定(bind),Android 也会绑定(bind)?

android - MediaSession 和 MediaSessionManager 是否向后兼容?