0

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

公共无效 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();
    }
}
4

1 回答 1

0

您为什么不从 App Store 安装一个 torchlight 应用程序,您的应用程序将只使用一个意图调用该应用程序。

这样编码更少!

于 2013-01-23T03:06:30.887 回答