真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Android應(yīng)用中怎么實(shí)現(xiàn)一個(gè)雙擊返回鍵退出程序功能

Android應(yīng)用中怎么實(shí)現(xiàn)一個(gè)雙擊返回鍵退出程序功能?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),沿灘企業(yè)網(wǎng)站建設(shè),沿灘品牌網(wǎng)站建設(shè),網(wǎng)站定制,沿灘網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,沿灘網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

具體如下: 

1. 第一種就是根據(jù)用戶點(diǎn)擊倆次的時(shí)間間隔去判斷是否退出程序;

2. 第二種就是使用Android中計(jì)時(shí)器(Timer),其實(shí)這倆種都差不多.

思路是有了,,,接下來要怎么開搞呢???用戶點(diǎn)擊肯定會(huì)觸發(fā)相應(yīng)的事件,,,我們先來看下面?zhèn)z個(gè)事件的作用。。。

Activity.onKeyDown();

當(dāng)某個(gè)鍵被按下時(shí)會(huì)觸發(fā),但不會(huì)被任何的該Activity內(nèi)的任何view處理。

默認(rèn)按下KEYCODE_BACK鍵后會(huì)回到上一個(gè)Activity。

Activity.onKeyUp():

當(dāng)某個(gè)按鍵被按下,松開后觸發(fā),但不會(huì)被任何的該Activity內(nèi)的任何view處理。

默認(rèn)沒有執(zhí)行任何操作,只是簡(jiǎn)單的給一個(gè)false作為返回值。

So,,,接下來分別使用如上倆個(gè)方法干掉這個(gè)當(dāng)年的攔路虎~

One Way:onKeyUp()

  //--------------使用onKeyUp()干掉他--------------

  //記錄用戶首次點(diǎn)擊返回鍵的時(shí)間
  private long firstTime=0;

  @Override
  public boolean onKeyUp(int keyCode, KeyEvent event) {
    switch (keyCode){
      case KeyEvent.KEYCODE_BACK:
        long secondTime=System.currentTimeMillis();
        if(secondTime-firstTime>2000){
          Toast.makeText(MainActivity.this,"再按一次退出程序--->onKeyUp",Toast.LENGTH_SHORT).show();
          firstTime=secondTime;
          return true;
        }else{
          System.exit(0);
        }
        break;
    }
    return super.onKeyUp(keyCode, event);
  }

Two Way:onKeyDown()

 //--------------使用onKeyDown()干掉他--------------

  //記錄用戶首次點(diǎn)擊返回鍵的時(shí)間
  private long firstTime=0;

  @Override
  public boolean onKeyDown(int keyCode, KeyEvent event) {
    if(keyCode==KeyEvent.KEYCODE_BACK && event.getAction()==KeyEvent.ACTION_DOWN){
      if (System.currentTimeMillis()-firstTime>2000){
        Toast.makeText(MainActivity.this,"再按一次退出程序--->onKeyDown",Toast.LENGTH_SHORT).show();
        firstTime=System.currentTimeMillis();
      }else{
        finish();
        System.exit(0);
      }
      return true;
    }
    return super.onKeyDown(keyCode, event);
  }

Three Way:Timer

 @Override
  public boolean onKeyDown(int keyCode, KeyEvent event) {
    if(keyCode==KeyEvent.KEYCODE_BACK){
      exitByDoubleClick();
    }
    return false;
  }

  private void exitByDoubleClick() {
    Timer tExit=null;
    if(!isExit){
      isExit=true;
      Toast.makeText(MainActivity.this,"再按一次退出程序--->Timer",Toast.LENGTH_SHORT).show();
      tExit=new Timer();
      tExit.schedule(new TimerTask() {
        @Override
        public void run() {
          isExit=false;//取消退出
        }
      },2000);// 如果2秒鐘內(nèi)沒有按下返回鍵,則啟動(dòng)定時(shí)器取消掉剛才執(zhí)行的任務(wù)
    }else{
      finish();
      System.exit(0);
    }
  }

看完上述內(nèi)容,你們掌握Android應(yīng)用中怎么實(shí)現(xiàn)一個(gè)雙擊返回鍵退出程序功能的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


網(wǎng)頁(yè)標(biāo)題:Android應(yīng)用中怎么實(shí)現(xiàn)一個(gè)雙擊返回鍵退出程序功能
分享URL:http://weahome.cn/article/jsiooo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部