관리 메뉴

웹개발자의 기지개

뒤로 버튼을 한번 더 누르면 종료합니다 - 기능 구현 본문

안드로이드

뒤로 버튼을 한번 더 누르면 종료합니다 - 기능 구현

http://portfolio.wonpaper.net 2019. 6. 30. 02:19
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
public class MainActivity extends AppCompatActivity {
    private WebView mWebview;
 
   @Override
   protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        mWebview = findViewById(R.id.webview1);
        mWebview.getSettings().setJavaScriptEnabled(true);
 
        mWebview.loadUrl("http://www.naver.com");
        mWebview.setWebChromeClient(new WebChromeClient());
 
    }
    
    // 뒤로 가기 눌렀을때 웹뷰의 이전페이지로 간다.
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebview.canGoBack()) {
            mWebview.goBack();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
 
    // 뒤로 버튼 한번더 재빠르게 누르면 
    private long time = 0;
    @Override
    public void onBackPressed() {
        //super.onBackPressed();
        if(System.currentTimeMillis()-time>=2000){
            time=System.currentTimeMillis();
            Toast.makeText(getApplicationContext(),"뒤로 버튼을 한번 더 누르면 종료합니다.",Toast.LENGTH_SHORT).show();
        }else if(System.currentTimeMillis()-time<2000){
            finish();
            return;
        }
    }    
 
}
cs
Comments