Andorid M版本上手電筒不亮


Android M版本上,若是咱們使用的閃光燈是透過LED2 的driver去實際控制打閃的,在下拉菜單點擊手電筒會不亮。html


[SOLUTION]
ide


M版本的手電筒是透過flash_hal.cpp 來控制的,默認的source code中只會下command去控
制LED1。若是閃光燈其實是經過LED2的driver去控制,那麼咱們須要添加對LED2的控制
,以下code中所示。(add for led2是須要添加的內容)
spa


setTorchOnOff(MINT32 i4SensorOpenIndex, MBOOL en)
{
MINT32 i4SensorDevId = (!m_pHalSensorList)? 0: m_pHalSensorList-
>querySensorDevIdx(i4SensorOpenIndex);
if(i4SensorDevId==2 && cust_isSubFlashSupport()==0)
return 1;
StrobeDrv* pStrobe = StrobeDrv::getInstance(i4SensorDevId);
StrobeDrv* pStrobe2 = StrobeDrv::getInstance(i4SensorDevId,2);//add for
led2
if(en==1){
pStrobe->init();
pStrobe->setDuty(0);
pStrobe->setTimeOutTime(0);
//add for led2
pStrobe2->init();
pStrobe2->setDuty(0);
pStrobe2->setTimeOutTime(0);
//add end
pStrobe->setOnOff(1);
pStrobe2->setOnOff(1);//add for led2
m_status = 1;
}else{
pStrobe->setOnOff(0);
pStrobe->uninit();
//add for led2
pStrobe2->setOnOff(0);
pStrobe2->uninit();
//add end
m_status = 0;
}
return 0;
}

code

相關文章
相關標籤/搜索