1.press menu key
2.来电时暂停
GamePauseThread gamePauseRun;
gamePauseRun = new GamePauseThread();
gamePauseRun.run();
gamePauseRun.interrupt();
/**
* 按键事件
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode == KeyEvent.KEYCODE_BACK){//返回上一界面,并且将所有数据初始化
try {
mGameStart = 9;//游戏结束
} catch (Exception e) {
}
return false;
}
if(keyCode == KeyEvent.KEYCODE_MENU && event.getAction() == KeyEvent.ACTION_DOWN) {
GamePause();
return true;
}
return super.onKeyDown(keyCode, event);
}
2.来电时暂停
class GamePauseThread extends Thread implements Runnable{
@Override
public void run() {
boolean start = true;
boolean tmp = true;
while(start){
try {
switch (tmpTelephonyManager.getCallState()) {
case TelephonyManager.CALL_STATE_RINGING:
if(tmp){
GamePause1();
tmp = false;
}
break;
case TelephonyManager.CALL_STATE_IDLE:
if(!tmp){
GamePause2();
tmp = true;
start = false;
mGameStart = tmpGameStart;
}
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
if(!tmp){
GamePause2();
tmp = true;
start = false;
mGameStart = tmpGameStart;
}
break;
default:
break;
}
Thread.sleep(80);//游戏休息80ms
} catch (Exception e) {
// TODO: handle exception
}
}
}
}
GamePauseThread gamePauseRun;
gamePauseRun = new GamePauseThread();
gamePauseRun.run();
gamePauseRun.interrupt();