Question

I am developing an android app for measuring heart rate using the camera and the illumination system of the phone in which the user has to place his finger on the camera to detect a pulse. I am testing my app in a NExus 4 device. I use this code to access the camera

 if(flashSupported==true){
       parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
 } 
 camera.setParameters(parameters);
 camera.startPreview();

The heart rate functionality works great, but on my Nexus 4 the LED becomes really hot and the user at some point is unable to keep his finger in the LED. I also tried this on a Nexus S and its also gets really hot. I havent tried it on other devices and I dont really know whether this is a hardware problem or it's a problem on my behalf.

Is there any way I can avoid this problem programmatically?

Was it helpful?

Solution

As Scott said, the only way to control the thermal output of an LED on the phone is to turn it off. BUT, you could use phone heat sensors to get temperature of your phone and logcat what is over heating your phone. Hope it helps.

OTHER TIPS

it's the output resolution of the camera. most phones that record in 4k res can only record for 5min before it overheats. maybe you can force change the resolution of the camera, or get it to use the front facing camera while still logging biometrics

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top