您的位置:首页 > 移动开发

MT6572平台加入呼吸灯功能——编写APP Demo

2013-11-11 17:40 375 查看
package com.along.breathleds;

import android.app.Activity;
import android.os.Bundle;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.Toast;

import android.os.IBreathLedsService;

public class BreathLedsActivity extends Activity {

	private IBreathLedsService ledSvc = null;
	
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.breath_leds);
        
        ledSvc = IBreathLedsService.Stub.asInterface(ServiceManager.getService("breath_leds"));
        
        SeekBar seekBar = (SeekBar) findViewById(R.id.seekBar);
        seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
			
			@Override
			public void onStopTrackingTouch(SeekBar seekBar) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void onStartTrackingTouch(SeekBar seekBar) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void onProgressChanged(SeekBar seekBar, int progress,
					boolean fromUser) {
				// TODO Auto-generated method stub
				Toast.makeText(getApplicationContext(), "level = "+progress, Toast.LENGTH_SHORT).show();
				for (int i=1; i<12; i++) {
				    try {
						ledSvc.setLedsBrightness(i, progress);
					} catch (RemoteException e) {
						e.printStackTrace();
					}
				}
			}
		});
    }
    
}

本demo整个界面就只有一个SeekBar控件,类似于调屏幕亮度一样,用来调整led灯的亮度。其中xml中SeekBar控件描述如下:

<SeekBar android:id="@+id/seekBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:max="31"
        android:progress="31"/>

放在eclipse中编译时记得导入新编译的系统framework对应jar包。打开生成的apk应用,可发现led亮度随着SeekBar的拖动而变亮变暗。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: