Я подключил JivoChat для поддержки в свое приложение но не могу разобраться как сделать так что бы при нажатии на кнопку назад как в самом чате так и в фрагменте в котором находится webView происходил возврат назад а не выход из приложения, а так же сам чат был прозрачным?!
App
class App : Application() {
override fun onCreate() {
super.onCreate()
Jivo.init(
appContext = this,
widgetId = "Q7BcPYNqCG"
)
Jivo.setConfig(Config.Builder()
.setOnBackPressed {
activity?.onBackPressedDispatcher?.addCallback(onBackPressedCallback)
}
.build()
)
}
private val onBackPressedCallback = object : OnBackPressedCallback(true) {
override fun handleOnBackPressed() {
// On back pressed
}
}
}
MainActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
if (savedInstanceState == null) {
supportFragmentManager.beginTransaction()
.replace(R.id.container, MainFragment())
.commit()
}
}
}
MainFragment
class MainFragment: Fragment(R.layout.fragment_main) {
private lateinit var webView: WebView
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
view.findViewById<View>(R.id.jivoBtn)?.run {
setOnClickListener {
parentFragmentManager
.beginTransaction()
.add(R.id.container, JivoChatFragment())
.commit()
}
}
webView = view.findViewById(R.id.webView)
// WebViewClient allows you to handle
// onPageFinished and override Url loading.
webView.webViewClient = WebViewClient()
// this will load the url of the website
webView.loadUrl("https://www.geeksforgeeks.org/")
// this will enable the javascript settings, it can also allow xss vulnerabilities
webView.settings.javaScriptEnabled = true
// if you want to enable zoom feature
webView.settings.setSupportZoom(true)
}
}