androidkotlinjitsilib-jitsi-meet

Jitsi Meet Sdk Android End call or back button on toolbar doesn't work


I have an app where I can join calls normally with Jitsi, but when I click to go back on the toolbar, or on the cell phone button itself, or on the call exit button, it reconnects and doesn't let me leave the call. I can only leave when I finish the app process on menu.

class JitsiConferenceRoom : JitsiMeetActivity() {

companion object {
    fun launch(context: Context, url: String) {


        val options = JitsiMeetConferenceOptions.Builder()
            .setServerURL(URL(url))
            .setRoom(context.getText(R.string.text_online).toString())
            .setFeatureFlag("pip.enabled", false)
            .setFeatureFlag("invite.enabled", false)
            .setFeatureFlag("call-integration.enabled", false)
            .setFeatureFlag("calendar.enabled", false)
            .setFeatureFlag("share.enabled", false)
            .setFeatureFlag("meeting-name.enabled", false)
            .build()

        launch(context, options)
    }
}

In Log, we have:

[features/app] appNavigate to undefined
[features/app] appNavigate to {url}

object Jitsi {
    private const val jitsiVersion = "10.2.1"
    const val jitsi = "org.jitsi.react:jitsi-meet-sdk:${jitsiVersion}"
}
maven { url 'https://jitpack.io' }
maven { url 'https://github.com/jitsi/jitsi-maven-repository/raw/master/releases' }

Solution

  • In this version 10.2.1 setup is a little different, you first need to set default options, your serverURL is a URL (domain) and setRoom would be your full url. Something like that:

     val defaultOptions = JitsiMeetConferenceOptions.Builder()
        .setServerURL(URL(https://meet.jit.si/))
        .setFeatureFlag("pip.enabled", false)
        .setFeatureFlag("welcomepage.enabled", false)
        .setFeatureFlag("invite.enabled", false)
        .setFeatureFlag("call-integration.enabled", false)
        .setFeatureFlag("calendar.enabled", false)
        .setFeatureFlag("raise-hand.enabled", false)
        .build()
    JitsiMeet.setDefaultConferenceOptions(defaultOptions)
    
    val options = JitsiMeetConferenceOptions.Builder()
        .setRoom(https://meet.jit.si/AliveObsessionsCreditFreely)
        .build()
    JitsiMeetActivity.launch(context, options)
    

    So, setRoom is not about nameRoom only, but about domain plus idRoom. It needs to be unique. To change the room name, use #config.subject= at the end of the url.