欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

详解Android应用层制作LED指示灯

程序员文章站 2022-07-11 23:11:18
详解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转化,就能读出灯的状态,直接运行就可以实现该功能.

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!