2013-11-02 2 views
-1
public class Myactivity extends DroidGap { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_myactivity); 
    } 

    @Override 
    public void onDestroy() { 
     this.finish(); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.myactivity, menu); 
     return true; 
    } 

    @Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 
     if ((keyCode == KeyEvent.KEYCODE_BACK)) { 
      super.loadUrl("file:///asset/www/index.html"); 
     } 
     return super.onKeyDown(keyCode, event); 
    } 

위의 경우 뒤로 버튼을 클릭하면 index.html 파일로 이동해야합니다.안드로이드 뒤로 버튼이 작동하지 않습니다

11-02 12:25:00.677: E/WindowManager(24344): Activity org.apache.cordova.example.Myactivity has leaked window [email protected] that was originally added here 
11-02 12:25:00.677: E/WindowManager(24344): android.view.WindowLeaked: Activity org.apache.cordova.example.Myactivity has leaked window [email protected] that was originally added here 
+0

onDestroy()에서'finish()'를 호출 할 필요가 없습니다. 활동이 이미 끝났습니다. 그리고 액티비티'onXxx()'메소드를 오버라이드 (override) 할 때 반드시 같은 슈퍼 클래스 버전을 호출해야합니다. 'super.onDestroy()'. – laalto

답변

0

뒤로 버튼을 누르면 작업이 완료됩니다. super.onKeyDown(keyCode, event)으로 전화하면 안드로이드에 currentActivity.finish();으로 전화 할 것을 요청합니다.

+0

이 팝업 메시지가 나타납니다. A 네트워크 오류가 발생했습니다. (file : ///android_asset/www/index.html ") – user2889058

+0

자산 내부에 해당 파일이 있습니까? assets/www/index.html? – Blackbelt

+0

예 자산 내에 있습니다 – user2889058

0

onBackPressed() 메서드보다 우선합니다. 코드를 넣으면 작동 될 것입니다.

+0

과 함께 표시됩니다. 경고 메시지가 나타납니다. : KeyCharacterMap - id 0 키보드 없음 – klvtsov

+0

내 대답은 정확했다. 내 대답에 downvote 버튼을 사용하는 이유는 새 사용자 인 것 같아요. Good –

+0

죄송합니다. 예, 다른 문제였습니다. – klvtsov

관련 문제