首页 > 系统 > Android > 正文

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

2019-12-12 02:36:39
字体:
来源:转载
供稿:网友

详解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; } } @Overridepublic 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转化,就能读出灯的状态,直接运行就可以实现该功能.

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表