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 |