Android에서 뒤로 단추 사용 안 함
애플리케이션을 로그아웃하는 동안 안드로이드에서 뒤로 버튼을 비활성화하는 방법은 무엇입니까?
장치의 뒤로 단추를 처리하려면 onBackPressed 메서드를 재정의하고 아무것도 수행하지 않습니다.
@Override
public void onBackPressed() {
if (shouldAllowBack()) {
super.onBackPressed();
} else {
doSomething();
}
}
더 높은 api 레벨 2.0 이상을 찾는다면 잘 작동할 것입니다.
@Override
public void onBackPressed() {
// Do Here what ever you want do on back press;
}
1.6까지의 안드로이드 api 레벨을 찾고 있는 경우.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
//preventing default implementation previous to android.os.Build.VERSION_CODES.ECLAIR
return true;
}
return super.onKeyDown(keyCode, event);
}
뒤로 버튼을 누르지 않도록 활동에 위의 코드를 기록합니다.
이 간단한 방법으로 할 수 있습니다. Super.onBackPressed()를 호출하지 마십시오.
참고:- 강력한 이유가 있을 때까지 이 작업을 수행하지 마십시오.
@Override
public void onBackPressed() {
// super.onBackPressed();
// Not calling **super**, disables back button in current screen.
}
onBackPressed() 메서드를 재정의하기만 하면 됩니다.
@Override
public void onBackPressed() { }
사용하고 있습니다...........
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode==KeyEvent.KEYCODE_BACK)
Toast.makeText(getApplicationContext(), "back press",
Toast.LENGTH_LONG).show();
return false;
// Disable back button..............
}
onBackPressed() 메서드를 재정의하고 onBackPressed 메서드의 슈퍼 클래스나 다른 클래스를 호출할 필요가 없습니다.
@Override
public void onBackPressed()
{
}
또는 현재 활동을 onBackPressed() 메서드로 전달합니다.
@Override
public void onBackPressed()
{
startActivity(new Intent(this, myActivity.class));
finish();
}
필요한 활동 이름을 내 활동으로 바꿉니다.
fragment를 사용하는 경우 먼저 callParentMethod() 메서드를 호출합니다.
public void callParentMethod(){
context.onBackPressed(); // instead of context use getActivity or something related
}
그런 다음 빈 메소드를 호출합니다.
@Override
public void onBackPressed()
{
}
활동이 중지되기 전에 일부 서버에서 안드로이드 클라이언트 응용프로그램이 로그아웃되었는지 확인하려면 --> 자체 스레드에서 서비스를 사용하여 로그아웃해야 합니다(어쨌든 그렇게 해야 합니다).
뒤로 단추를 비활성화해도 문제가 해결되지 않습니다.예를 들어 사용자가 전화를 받을 때에도 동일한 문제가 발생합니다.전화 통화가 수신되면 네트워크에서 신뢰할 수 있는 응답을 받기 전에 활동이 중단될 가능성이 거의 높아집니다.
따라서 서비스가 네트워크의 응답을 위해 자체 스레드에서 대기하도록 한 다음, 성공하지 못할 경우 다시 시도하도록 해야 합니다.Android 서비스는 응답을 받기 전에 삭제될 가능성이 훨씬 낮을 뿐만 아니라 작업을 끝내기 전에 실제로 삭제될 경우 AlarmManager에 의해 언제든지 다시 시도할 수 있습니다.
Android에서 뒤로 단추 사용 안 함
@Override
public void onBackPressed() {
return;
}
다음을 재정의할 수 있습니다.onBackPressed()
메서드를 사용하여 수퍼 클래스에 대한 호출을 제거합니다.
@Override
public void onBackPressed() {
//remove call to the super class
//super.onBackPressed();
}
을 사용하는 경우FragmentActivity
그럼 이렇게 해주세요.
첫 번째 호출 당신의 내부에 있는 이것.Fragment
.
public void callParentMethod(){
getActivity().onBackPressed();
}
그런 다음 호출onBackPressed
너의 부모님 안에 있는 방법FragmentActivity
학급.
@Override
public void onBackPressed() {
//super.onBackPressed();
//create a dialog to ask yes no question whether or not the user wants to exit
...
}
이 코드만 사용하면 됩니다.만약 당신이 역압축 비활성화를 원한다면, 당신은 super를 사용하지 않습니다.On Back Pressed();
@Override
public void onBackPressed() {
}
로그아웃하는 동안 앱을 비활성화하려면 취소할 수 없는 대화 상자를 표시할 수 있습니다.
위의 답변에서 이 두 가지 방법을 제외합니다.
OnBackPressed()(API 레벨 5, Android 2.0)
onKeyDown()(API 레벨 1, Android 1.0)
또한 다음을 재정의할 수도 있습니다.dispatchKeyEvent()
(API 레벨 1, Android 1.0) 이와 같이,
dispatchKeyEvent()
1, 1API 벨레 1, Android 1.0)
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
// TODO Auto-generated method stub
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
return true;
}
return super.dispatchKeyEvent(event);
}
뒤로 단추에 대한 메서드를 재정의하면 됩니다.뒤로 버튼을 누를 때 아무 일도 일어나지 않도록 하려면 메소드를 비워둘 수 있습니다.아래 코드를 확인하십시오.
@Override
public void onBackPressed()
{
// Your Code Here. Leave empty if you want nothing to happen on back press.
}
거한제를 합니다.super.onBackPressed()
public void onBackPressed()
효과가 좋습니다안드로이드 9에서 테스트됨
나는 그저 무시하는 것뿐입니다.onBackPressed()
작동하지 않았지만 어떤 활동을 시작해야 하는지 명시적으로 알려줍니다.
@Override
public void onBackPressed(){
Intent intent = new Intent(this, ActivityYouWanToGoBack.class);
startActivity(intent);
}
사용해 보십시오.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
return true;
}
return super.onKeyDown(keyCode, event);
}
안드로이드 13 코틀린
onBackPressedDispatcher.addCallback(object: OnBackPressedCallback(true) {
/* override back pressing */
override fun handleOnBackPressed() {
//Your code here
}
})
언급URL : https://stackoverflow.com/questions/4779954/disable-back-button-in-android
'sourcecode' 카테고리의 다른 글
Dutrin NativeQuery를 사용하여 단일 행 결과 가져오기 (0) | 2023.08.01 |
---|---|
키와 비밀 대신 IAM 역할을 사용하도록 이 Spring-Boot 앱을 구성하는 방법은 무엇입니까? (0) | 2023.08.01 |
Simple Spring @CreatedDate 주석이 작동하지 않습니다. (0) | 2023.08.01 |
네트 처리 방법::jquery agax에서 ERR_CONNECTION_REFUSED가 발생했습니다. (0) | 2023.08.01 |
도커 컨테이너 내에서 cron 작업을 실행하는 방법은 무엇입니까? (0) | 2023.08.01 |