1.根据节点来获取设备信息
1.首先要看文档 获取节点信息的路径(读取)
/**
* 获取节点,根据节点地址来获取
*/
private static String getString(String path) {
String prop = "waiting";// 默认值
try {
BufferedReader reader = new BufferedReader(new FileReader(path));
prop = reader.readLine();
} catch (IOException e) {
e.printStackTrace();
}
return prop;
}
2.根据要求修改节点修改节点的数据
private static void Writer(String buf){
final String WAKE_PATH = "/sys/bus/platform/devices/light_laser/enable";
try {
BufferedWriter bufWriter = null;
bufWriter = new BufferedWriter(new FileWriter(WAKE_PATH));
bufWriter.write(buf); // 写操作
bufWriter.close();
Log.d(TAG,"功能已激活 angle " + getString(WAKE_PATH));
} catch (IOException e) {
e.printStackTrace();
}
}
2 通过广播来响应实体按键
首先获取需要订阅的广播类型 例如: "android.intent.action.SIDE_KEY_INTENT"
IntentFilter keyFilter = new IntentFilter("android.intent.action.SIDE_KEY_INTENT");
KeyReceiver keyReceiver = new KeyReceiver();
registerReceiver(keyReceiver, keyFilter);
然后根据返回值 返回数据,例如我的返回值为"key_code"
根据按键的值来进行监听,来实现想要的效果就可以了
/*记录仪的按键监听*/
private class KeyReceiver extends BroadcastReceiver {
AudioManager audio = (AudioManager) getSystemService(Service.AUDIO_SERVICE);
int Light_laser = 0;
@Override
public void onReceive(Context context, Intent intent) {
int key_code = intent.getIntExtra("key_code", 0);
/*实体键开启闪光灯*/
if (key_code == LIGHT) {
mMediaStream.IsOpen();
/*音量调节*/
} else if (key_code == AUDIO_UP) {
audio.adjustStreamVolume(
AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_RAISE,
AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_SHOW_UI);
/*音量调节*/
} else if (key_code == AUDIO_DOWN) {
audio.adjustStreamVolume(
AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_LOWER,
AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_SHOW_UI);
} else if (key_code == LIGHT_LASER) {
Light_laser++;
if (Light_laser % 2 == 0) {
mMediaStream.IsOpen_light_laser("0");
}else {
mMediaStream.IsOpen_light_laser("1");
}
}
// Log.e("KeyCode","哪个键按下了:"+key_code);
}
}
文章很短,路还漫长,大家好,我是玖玖君,一个帅气与才华并存的男人,我们下期再见。