[AOS] onBackPressed

2024. 1. 22. 11:00dev/aos

728x90
반응형

default onBackPressed() function is deprecated in API33.

 

but onBackPressed() function is in Activity.

if you want use onBackPressedDispatcher that is in ActivityCompat class.

 

create instance backpressed callback

    @RequiresApi(Build.VERSION_CODES.TIRAMISU)
    private val onBackPressedCallback = object: OnBackPressedCallback(true) {
        override fun handleOnBackPressed() {
            NLog.d("onBackPressedCallback..")

            finish()
        }
    }

 

 

register backpressed callback

use onBackPressedDispatcher

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        NLog.d("onCreate..")

        setContentView(R.layout.activity_sub)

		...

        // onBackPressed
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
            onBackPressedDispatcher.addCallback(this, onBackPressedCallback)
        }
    }

 

 

default onBackPressed()

@Override
public void onBackPressed() {
   /*if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {
      if (mWebView.canGoBack()) {
         mWebView.goBack();
      } else {
         showExitDialog();
      }
      // super.onBackPressed();
   }*/
728x90
반응형

'dev > aos' 카테고리의 다른 글

[AOS] KeyStore, SigningKey, jks  (0) 2024.01.29
[AOS] Proguard  (0) 2024.01.25
[AOS] Firebase Crashlytics  (0) 2024.01.19
[AOS] WebView  (0) 2024.01.19
[AOS] Coroutine  (0) 2024.01.18