@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { new AlertDialog.Builder(this) .setIcon(android.R.drawable.ic_dialog_alert) .setTitle(this.getString(R.string.exit)) .setMessage(this.getString(R.string.exit_message)) .setPositiveButton(this.getString(R.string.yes), new DialogInterface.OnClickListener() { @Override public void onClick( DialogInterface dialog, int which ) { moveTaskToBack(true); finish(); } } ).setNegativeButton(this.getString(R.string.no), null ).show(); return true; } return super.onKeyDown(keyCode, event); } @Override public void onDestroy() { super.onDestroy(); clearApplicationCache(null); android.os.Process.killProcess(android.os.Process.myPid() ); } public void clearApplicationCache(java.io.File dir){ //종료시 모든 캐쉬 삭제 if(dir==null) dir = getCacheDir(); if(dir==null) return; java.io.File[] children = dir.listFiles(); try{ CookieManager cookieManager = CookieManager.getInstance(); cookieManager.removeSessionCookie(); for(int i=0;i<children.length;i++) if(children[i].isDirectory()) clearApplicationCache(children[i]); else children[i].delete(); } catch(Exception e){} } |