打开Motorola XYBoard上的手电筒

时间:2013-01-22 22:15:36

标签: android android-camera

我正在编写一个应用程序,在我的Motorola XYBoard上打开固定时间的手电筒。下面是我的一段代码,虽然这段代码适用于摩托罗拉Attrix和三星Galaxy Note 10.1但它不适用于XYBoard。我确实检查了支持的闪光模式,火炬就是其中之一。我已经阅读了关于堆栈溢出的多个讨论,其他人遇到了类似的问题,但我没有尝试过。如果有人帮助我,将会非常有帮助

public void flashLightOn(){

    try {
        if (getPackageManager().hasSystemFeature(
                PackageManager.FEATURE_CAMERA_FLASH)) {

            cam = Camera.open();
            Parameters p = cam.getParameters();
            List<String> abc = p.getSupportedFlashModes();

            for (String a : abc){
                Log.d("mode: ", a);
    }
            p.setFlashMode(Parameters.FLASH_MODE_OFF);
            p.setFlashMode(Parameters.FLASH_MODE_TORCH);

            cam.setParameters(p);
            cam.startPreview();
           /* cam.autoFocus(new AutoFocusCallback() {
                public void onAutoFocus(boolean success, Camera camera) {
                }
            });*/

        } else {

        }
    } catch (Exception e) {
        e.printStackTrace();
        Toast.makeText(getBaseContext(), "Exception flashLightOn()",
                Toast.LENGTH_SHORT).show();
    }
}


public void flashLightOff() {
    try {
        if (getPackageManager().hasSystemFeature(
                PackageManager.FEATURE_CAMERA_FLASH)) {
            cam.stopPreview();
            cam.release();
            cam = null;
        }
    } catch (Exception e) {
        e.printStackTrace();
        Toast.makeText(getBaseContext(), "Exception flashLightOff",
                Toast.LENGTH_SHORT).show();
    }
}

1 个答案:

答案 0 :(得分:0)

为什么不从App商店安装一个火炬之光应用程序,你的应用程序只会使用意图调用该应用程序。

这样可以减少编码!