详解Android应用层制作LED指示灯
程序员文章站
2023-11-21 17:50:10
详解android应用层制作led指示灯
在java应用层修改led指示灯的颜色,这个花了我半天时间, 才实现该功能!
public class ledacti...
详解android应用层制作led指示灯
在java应用层修改led指示灯的颜色,这个花了我半天时间, 才实现该功能!
public class ledactivity extends activity implements view.onclicklistener { private static final string tag = "led"; button mledtest; int mledstatus = 0; private final int mledcolorred = 0xffff0000; final byte[] light_on = { '2', '5', '5' }; final byte[] light_off = { '0' }; private final int red = 0; private int color = red; string red_led_dev = " /sys/class/leds/torch/brightness"; public void oncreate(bundle parambundle) { 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; } public void onclick(view v) { log.d("ledactivity", "---onclick---mledstatus=" + mledstatus); switch (v.getid()) { case r.id.ledcolor: if(mledstatus == 0) { mledtest.settext("开"); mledstatus = 1 }else if(mledstatus == 1) { mledtest.settext("关"); mledstatus = 0; } break; } } @override public void finish() { setledlightcolor(-1); super.finish(); } private void setledlightcolor(int color) { logd("set:" + color); boolean red = false; switch (color) { case red: red = true; break; default: break; } try { fileoutputstream fored = new fileoutputstream(red_led_dev); log.d(tag, "fored" + fored); fred.write(red ? light_on : light_off); fred.close(); } catch (exception e) { loge(e); } } void logd(object d) { log.d(tag, "" + d); } void loge(object e) { log.e(tag, "" + e); } }
直接在xml中写一个button,用来实现点击按钮,其实很简单,只是把源码的led指示灯的路径拿出来,用过输出流,将string转化,就能读出灯的状态,直接运行就可以实现该功能.
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!