要覆盖API中低于33的后退按钮的操作,可以使用
@Override
public void OnBackPressed(){
finish();
}
既然这已经被弃用了,我正试图让getOnBackPressedDispatcher工作起来。
从我的第一个活动开始,我使用回调按钮开始第二个活动:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void openSecondActivity(View view) {
Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
}
}
现在,在第二个活动中,我希望后退按钮退出应用程序。
public class SecondActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
getOnBackPressedDispatcher().addCallback(this, new OnBackPressedCallback(true) {
@Override
public void handleOnBackPressed(){
finish();
}
});
}
}
然而,这并不奏效。按下后退按钮,我将返回到第一个活动。
我做错了什么?