簡體   English   中英

Android應用程序按“退回按鈕”退出后崩潰

[英]Android application Crashing after quit it by pressing “back button”

作為我的Android應用程序開發研究的一部分,我通過訪問LED閃光燈開發了一個簡單的SOS應用程序。 每一件工作都很好,LED以1/2秒的間隔閃爍。 但是當用戶按下手機中的后退按鈕時,應用程序將退出,並在1/2秒后出現“崩潰/強制關閉”消息。 我是Android開發的菜鳥,我的代碼有什么問題?

private boolean lOn=true;



    Timer mTimer = new Timer();
    TimerTask mTimerTask = new TimerTask() {
        @Override
        public void run() {

            if(lOn){
                final Parameters p = camera.getParameters();
                Log.i("info", "torch is turn Off!");
                p.setFlashMode(Parameters.FLASH_MODE_TORCH);
                camera.setParameters(p);
                camera.startPreview();
                lOn=false;
            }
            else {
                final Parameters p = camera.getParameters();
                p.setFlashMode(Parameters.FLASH_MODE_OFF);
                camera.setParameters(p);
                camera.stopPreview();
                isLighOn = false;
                lOn=true;
            }


        }
    };

可能是因為你沒有取消你的計時器..

試試這個

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) 
    {
        if(event.getAction() == KeyEvent.ACTION_DOWN)
        {
            if( keyCode == KeyEvent.KEYCODE_BACK )
            {
                mTimer.cancel();
            }   
        }
        return super.onKeyDown(keyCode, event);
    }

調用purge(); 調用cancel();后的方法cancel(); 為什么? 調用cancel方法時,計時器停止工作。 但它沒有關閉。 我們必須在應用程序關閉之前手動關閉它,如調用db.close(); 在sqlite中。 試試這個。 我認為這只適用於Timer。 我不知道TimerTask。

mTimer.cancel();
mTimer.purge();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM