마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

back key를 누르면 "앱이 중지되었습니다"라고 나오네요..조언 부탁드립니다.

–1 추천
안녕하세요...
OS 버전: 킷캣
말이 하이브리드지...........웹뷰로 사이트 연결해서 보여주는게 다 입니다...

리소스해지를 해야 하는건지....어떤게 문제인지....

소스는 별거 없습니다..

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
      // super.loadUrl("file:///android_asset/www/index.html");
   
      String versionName = "";
      try {
          PackageInfo info =  getPackageManager().getPackageInfo(getPackageName(), 0);
          versionName = info.versionName;
      } catch (NameNotFoundException e) {
        //  StatusLogger.e(TAG, "", e);
      }

     
      setContentView(R.layout.activity_main);
 
      mWebView = (WebView) findViewById(R.id.webView1);
 
      mWebView.getSettings().setJavaScriptEnabled(true);
     
      mWebView.loadUrl("http://app.domain.com/Main.aspx?versionName="+versionName );
   

    }

그리고
 @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {

      if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
    mWebView.goBack();
    return true;
    }
    return super.onKeyDown(keyCode, event);
   

       
  }

화면을 보다가 안드로이드 Back Key를 누르면 "~앱이 중지되었습니다."라고 나오네요....

제가 어떤것을 잘못 처리를 했을까요..

고수님들의 조언 부탁드립니다.

감사합니다.
익명사용자 님이 2014년 8월 29일 질문

3개의 답변

0 추천
에러로그를 넣어주세요....그리고 백키처리는 onBackPressed() 에서 하시는게 좋으실듯..

딱히 코드로 봐서는 문제는 없어 보입니다.

라고 적었는데.....

 

onBackPressed() 호출이 keydown()에서 일어나는지 keyup()에서 일어나는지 모르겠네요..

그냥  onBackPressed() 에서 해당 코드 처리해주심이 깔끔하겠습니다.
바램 (19,650 포인트) 님이 2014년 8월 29일 답변
킷캣 이하버전에서는 문제 없는데...
킷캡 올리니 위와 같은 현상이네요..........
그리고 에뮬레이터에서는 back key가 먹히는데..(back key 누르면 뒤로가기 됩니다.)
실제폰에서는 back key가 에러나는 경우도 있나요?

제가 초보라 혹시 에러로그 어떻게 볼수 있나요? 폰을 연결해야 하나요?
아니면 혹시 참조될만한 url 정보 알려주실수 있으세요?
부탁드려요....
0 추천

KEYCODE_BACK 이벤트는 ECLAIR(5) 이상의 버전에서 keyDown과 keyUp 둘다 onBackPressed와 관계를 가집니다.

keyDown에서 처리하실경우에 onBackPressed가 keyUp에서 걸리니 문제가 됐을 수도 있겠습니당.

따라서 이 이벤트는 onBackPressed를 재정의해서 사용하시는 걸로!

uno (3,820 포인트) 님이 2014년 8월 29일 답변
0 추천
에러로그를 올려주세요.

에러뜨면서 앱이 꺼지면 LogCat에 빨강색글씨로 에러로그가 나옵니다.

 

그리고 뒤로가기버튼은 onKeyDown을 쓰지마시고 윗분들말씀대로 onBackPressed를 구현해서쓰세요.
기초개발자 (24,060 포인트) 님이 2014년 8월 29일 답변
...