详解Android应用层制作LED指示灯
详解Android应用层制作LED指示灯
在Java应用层修改LED指示灯的颜色,这个花了我半天时间,才实现该功能!
publicclassLEDActivityextendsActivityimplementsView.OnClickListener{ privatestaticfinalStringTAG="LED"; ButtonmLedTest; intmLedStatus=0; privatefinalintmLedColorRed=0xFFFF0000; finalbyte[]LIGHT_ON={'2','5','5'}; finalbyte[]LIGHT_OFF={'0'}; privatefinalintRED=0; privateintcolor=RED; StringRED_LED_DEV="/sys/class/leds/torch/brightness"; publicvoidonCreate(BundleparamBundle){ super.onCreate(paramBundle); setContentView(R.layout.led_test); mLedTest=((Button)findViewById(R.id.ledcolor)); mLedTest.setOnClickListener(this); //setledlightcolor(color); //mLedTest.setTextColor(mLedColorRed); //mLedTest.setText("RED"); //mLedStatus=1; } publicvoidonClick(Viewv){ Log.d("LEDActivity","---onClick---mLedStatus="+mLedStatus); switch(v.getId()){ caseR.id.ledcolor: if(mLedStatus==0){ mLedTest.setText("开"); mLedStatus=1 }elseif(mLedStatus==1){ mLedTest.setText("关"); mLedStatus=0; } break; } } @Override publicvoidfinish(){ setledlightcolor(-1); super.finish(); } privatevoidsetledlightcolor(intcolor){ logd("set:"+color); booleanred=false; switch(color){ caseRED: red=true; break; default: break; } try{ FileOutputStreamfoRed=newFileOutputStream(RED_LED_DEV); Log.d(TAG,"foRed"+foRed); fRed.write(red?LIGHT_ON:LIGHT_OFF); fRed.close(); }catch(Exceptione){ loge(e); } } voidlogd(Objectd){ Log.d(TAG,""+d); } voidloge(Objecte){ Log.e(TAG,""+e); } }
直接在xml中写一个Button,用来实现点击按钮,其实很简单,只是把源码的led指示灯的路径拿出来,用过输出流,将String转化,就能读出灯的状态,直接运行就可以实现该功能.
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!