2010-10-21 67 views
5

tôi muốn chặn phần cứng trở lại nút trong android, nhằm ngăn chặn từ sẽ trở lại hoạt động khác .. Cảm ơn trước ...Khối Nút Quay lại trong android

+0

Đừng làm điều này .. – Falmarri

+0

Không có lý do để bỏ phiếu được thực hiện, vì câu hỏi là hợp pháp: Bạn có thể ngăn chặn nút quay lại cho hộp thoại, vì vậy ít nhất khi sử dụng một hoạt động theo kiểu hộp thoại, có thể có ý nghĩa để chặn nút quay lại. – sven

Trả lời

17

Đây là mã cho phép bạn xử lý các phím trở lại trong một hoạt động một cách chính xác trên tất cả các phiên bản của nền tảng này:

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if ( Integer.valueOf(android.os.Build.VERSION.SDK) < 7 //Instead use android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.ECLAIR 
      && keyCode == KeyEvent.KEYCODE_BACK 
      && event.getRepeatCount() == 0) { 
     // Take care of calling this method on earlier versions of 
     // the platform where it doesn't exist. 
     onBackPressed(); 
    } 

    return super.onKeyDown(keyCode, event); 
} 

@Override 
public void onBackPressed() { 
    // This will be called either automatically for you on 2.0 
    // or later, or by the code above on earlier versions of the 
    // platform. 
    return; 
} 

nguồn: http: //android-developers.blogspot.com/2009/12 /back-and-other-hard-keys-three-stories.html

+0

Tuyệt vời để biết, đặc biệt là do backgack Frgagment vụng về của Android mà không cho phép bạn xóa các mục lâu đời nhất trong khi giữ mới nhất. –

+0

@ 100rabh, tôi đã sử dụng mã ở trên của bạn hoạt động hoàn hảo trong GameView của tôi. Tuy nhiên, trong Chế độ xem tôi có cửa sổ bật lên hộp thoại. Làm thế nào tôi có thể thực hiện việc vô hiệu hóa nút quay lại ở trên cho các cửa sổ bật lên? Cảm ơn –

+0

@LandLPartners Đối với các hộp thoại bạn cần xử lý các khóa bằng [DialogInterface.OnKeyListener] (http://developer.android.com/reference/android/content/DialogInterface.OnKeyListener.html). Chỉ cần nắm bắt chìa khóa trở lại như trên và bạn đã hoàn tất! – 100rabh

4

Nếu 'Hoạt động khác' là của bạn, bạn có thể đặt nó để không xuất hiện trong danh sách lịch sử.

Nếu không, hãy nhớ rằng điện thoại thuộc về người dùng chứ không phải cho bạn và ngừng cố gắng cho họ biết những gì họ có thể và không thể thực hiện với thiết bị THEIR.

+0

+1 Ngừng gây rối với hành vi mong đợi. – benvd

+2

Tôi nghĩ rằng trong một số trường hợp, điều này là chấp nhận được. Tôi chỉ chạy vào một nơi mà tôi có một tập hợp các tùy chọn tự động lưu khi người dùng quay lại, tuy nhiên trong trường hợp họ quên điền vào một trường, tôi cảnh báo họ xác nhận xem họ có muốn quay lại thay đổi hay không. .. – Redth

Các vấn đề liên quan