JAYNUX
2017. 8. 22. 21:18
2017. 8. 22. 21:18
Handler를 이용한 시간제한 기능 구현
BLE Scanning 주기 조절
private static final long SCAN_PERIOD = 1000
private void scanLeDevice(final boolean enable){
if(enable){
mHandler.postDelyaed(new Runnable(){
@Override
public void run(){
mScanning = false;
mBluetoothAdapter.stopLeScan(mLeScanCallback);
}
}, SCAN_PERIOD);
mScanning = true;
}
백키 두번 이상 연속해서 누를 때만 액티비티 종료
private boolean isBackPressedOnce = false;
private static final long BACKKEY_DELAY = 5000;
@Override
public void onBackPressed(){
if (isBackPressedOnce){
super.onBackPressed(); // 종료한다.
} else {
Toast.makeText(this, R.string.backpressed_message, Toast.LENGTH_SHORT).show();
isBackPressedOnce = true; // 한 번 백키 누른것을 저장한다.
mHandler.postDelayed(timerTask, BACKKEY_DELAY); // 5초후 작업을 지정한다.
}
}
// 5초가 지나면 한 번 누른 백키를 초기화 한다.
private final Runnable timerTask = new Runnable(){
@Override
public void run(){
isBackPressedOnce = false;
}
}