In Android 13 the OnBackPressed method has become deprecated. How can i implement this code in Xamarin.Android?
@Override
void onCreate() {
if (BuildCompat.isAtLeastT()) {
getOnBackInvokedDispatcher().registerOnBackInvokedCallback(
OnBackInvokedDispatcher.PRIORITY_DEFAULT,
() -> {
/**
* Code here
*/
}
);
}
}
The code above is the Java example from the official android dev website, but i can’t find the replacements for this in Xamarin.
Can someone translate this to C#?
This is what Visual studio suggests, but it doesn’t help at all.
Warning CS0672:Member 'MainActivity.OnBackPressed()' overrides obsolete member 'Activity.OnBackPressed()'. Add the Obsolete attribute to 'MainActivity.OnBackPressed()'.
2
Answers
You can try to use OnBackPressedDispatcher.AddCallback()
MainAcivity.cs
CustomOnBackPressed.cs
Related question
onBackPressed() deprecated, What is the alternative?
There are a series of Xamarin.Android tutorials using the NavigationComponent at https://github.com/gmck. As you progress through the projects, you will see the introduction of OnBackPressedCallback which is used extensively in the later projects.