为什么没有参数.getFlashMode()== Camera.Parameters.FLASH_MODE_OFF返回true?

时间:2018-03-23 11:08:09

标签: java android camera android-camera

我正在尝试确定闪光灯是打开还是关闭,以便只需一个按钮即可打开和关闭闪光灯。这是我的代码:

Camera cam = getCameraInstance(); //A method that opens the cam
            Camera.Parameters parameters = cam.getParameters();
            System.out.println("Current flash mode " + parameters.getFlashMode());
            System.out.println("flash mode off equals to : " + Camera.Parameters.FLASH_MODE_OFF);
            System.out.println(parameters.getFlashMode() == Camera.Parameters.FLASH_MODE_OFF);

前两个系统的输出为off。当然我假设因为它们都返回off字符串,将==运算符放在它们之间将返回true(从而允许我检查闪存是否已打开)但它返回{{1} }。知道为什么吗?

我的目标是api 16并在Marshmallow设备上进行测试

1 个答案:

答案 0 :(得分:6)

如果您选中docs,则会发现这些参数为String,并且您不会将Java中的字符串与==进行比较。您可以使用equals执行此操作。