監聽按鍵物理觸發,監聽到view變綠

已在Android6.0調試,可正常運行,希望對大家有幫助


package com.example.keytest;


import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.View.OnClickListener;
import android.widget.Button;


public class KeyTest extends Activity implements OnClickListener{
private Button mBackButton;
private Button mUpButton;
private Button mDownButton;
private Button mEnterButton;
private Button mFailButton;
private Button mSuccessButton;
private Button mPowerButton;
private Button mReTestButton;
@Override
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState);
// this.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
// this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
// WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.key_test);
mBackButton = (Button) findViewById(R.id.back);
mUpButton = (Button) findViewById(R.id.volume_up);
mDownButton = (Button) findViewById(R.id.volume_down);
mEnterButton = (Button) findViewById(R.id.enter);
mPowerButton = (Button) findViewById(R.id.power);

mFailButton = (Button) findViewById(R.id.failed);
mFailButton.setOnClickListener(this);

mSuccessButton = (Button) findViewById(R.id.successed);
mSuccessButton.setOnClickListener(this);

mReTestButton = (Button) findViewById(R.id.reTest);
mReTestButton.setOnClickListener(this);

mBackButton.setBackgroundColor(Color.WHITE);
mUpButton.setBackgroundColor(Color.WHITE);
mDownButton.setBackgroundColor(Color.WHITE);
mEnterButton.setBackgroundColor(Color.WHITE);
mPowerButton.setBackgroundColor(Color.WHITE);
}


@Override
public boolean dispatchKeyEvent(KeyEvent event) {
switch (event.getKeyCode()) {
case KeyEvent.KEYCODE_BACK:
mBackButton.setBackgroundColor(Color.GREEN);
return true;


case KeyEvent.KEYCODE_VOLUME_UP:
mUpButton.setBackgroundColor(Color.GREEN);
return true;

case KeyEvent.KEYCODE_VOLUME_DOWN:
mDownButton.setBackgroundColor(Color.GREEN);
return true;

case KeyEvent.KEYCODE_ENTER:
mEnterButton.setBackgroundColor(Color.GREEN);
return true;

case KeyEvent.KEYCODE_POWER:
mPowerButton.setBackgroundColor(Color.GREEN);
return true;
}
return super.dispatchKeyEvent(event);
}


public void onClick(View v) {
if(v == mSuccessButton){
// this.setResult(1);
// finish();
}else if(v == mFailButton){
// this.setResult(-1);
// finish();
}else if(v == mReTestButton){ 
mUpButton.setBackgroundColor(Color.WHITE);
mDownButton.setBackgroundColor(Color.WHITE);
mBackButton.setBackgroundColor(Color.WHITE);
mEnterButton.setBackgroundColor(Color.WHITE);
mPowerButton.setBackgroundColor(Color.WHITE);
}
}


@Override
public void onAttachedToWindow()   
{     
//       this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);        
      super.onAttachedToWindow();     
}   

}


下載源碼地址:http://download.csdn.net/detail/qitehuanjue/9686866

發佈了17 篇原創文章 · 獲贊 5 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章