diff --git a/app/src/main/java/org/traccar/manager/MainFragment.kt b/app/src/main/java/org/traccar/manager/MainFragment.kt index bb8ade8..2896835 100644 --- a/app/src/main/java/org/traccar/manager/MainFragment.kt +++ b/app/src/main/java/org/traccar/manager/MainFragment.kt @@ -38,7 +38,9 @@ import android.webkit.WebChromeClient import android.webkit.WebView import android.webkit.WebViewClient import android.webkit.WebViewFragment +import androidx.activity.addCallback import androidx.appcompat.app.AlertDialog +import androidx.appcompat.app.AppCompatActivity import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat import androidx.localbroadcastmanager.content.LocalBroadcastManager @@ -91,6 +93,14 @@ class MainFragment : WebViewFragment() { .beginTransaction().replace(android.R.id.content, StartFragment()) .commitAllowingStateLoss() } + + (activity as AppCompatActivity).onBackPressedDispatcher.addCallback { + if (webView.canGoBack()) { + webView.goBack(); + } else { + activity.onBackPressed() + } + } } private val broadcastReceiver: BroadcastReceiver = object : BroadcastReceiver() {