Bug Report
Capacitor Version
馃拪 Capacitor Doctor 馃拪
Latest Dependencies:
@capacitor/cli: 2.4.7
@capacitor/core: 2.4.7
@capacitor/android: 2.4.7
@capacitor/ios: 2.4.7
Installed Dependencies:
@capacitor/ios: not installed
@capacitor/cli: 3.0.0-rc.0
@capacitor/android: 3.0.0-rc.0
@capacitor/core: 3.0.0-rc.0
Platform(s)
Android
Current Behavior
Hey 馃憢馃徏
I got a tab bar in my app. When the user clicks on the second tab I want to show a Capacitor BridgeFragment. This worked fine with Capacitor 2.x.x. Here is the code:
val transaction = fragmentManager.beginTransaction()
transaction.add(R.id.fragmentContainer,capacitorFragment, getFragmentTag(id))
transaction.show(capacitorFragment)
transaction.commit()
After upgrading to 3.x.x the app crashes with a IllegalStateException. StackTrace below.
Expected Behavior
The Capacitor fragment is displayed normally.
Stack Trace
java.lang.IllegalStateException: LifecycleOwner com.xxxx.app.features.main.MainActivity@8a17bdc is attempting to register while current state is RESUMED. LifecycleOwners must call register before they are STARTED.
at androidx.activity.result.ActivityResultRegistry.register(ActivityResultRegistry.java:120)
at androidx.activity.ComponentActivity.registerForActivityResult(ComponentActivity.java:669)
at androidx.activity.ComponentActivity.registerForActivityResult(ComponentActivity.java:678)
at com.getcapacitor.Plugin.initializeActivityLaunchers(Plugin.java:133)
at com.getcapacitor.PluginHandle.load(PluginHandle.java:96)
at com.getcapacitor.PluginHandle.<init>(PluginHandle.java:59)
at com.getcapacitor.Bridge.registerPlugin(Bridge.java:473)
at com.getcapacitor.Bridge.registerAllPlugins(Bridge.java:425)
at com.getcapacitor.Bridge.<init>(Bridge.java:168)
at com.getcapacitor.Bridge$Builder.create(Bridge.java:1173)
at com.getcapacitor.BridgeFragment.load(BridgeFragment.java:76)
at com.getcapacitor.BridgeFragment.onActivityCreated(BridgeFragment.java:114)
at com.xxxx.app.features.capacitor.presentation.WebAppFragment.onActivityCreated(WebAppFragment.kt:105)
at androidx.fragment.app.Fragment.performActivityCreated(Fragment.java:2983)
at androidx.fragment.app.FragmentStateManager.activityCreated(FragmentStateManager.java:577)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:285)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2177)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2088)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1990)
at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:524)
at android.os.Handler.handleCallback(Handler.java:907)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:216)
at android.app.ActivityThread.main(ActivityThread.java:7625)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)
npm --version output: 6.12.1
node --version output: v12.13.1
Additional Context
When I directly add my Capacitor Fragment to my activity (not later, when the user did some action), I do not get this error.
The problem lays here:
at com.getcapacitor.Plugin.initializeActivityLaunchers(Plugin.java:133)
Capacitor tries to register something permission-related, which is not allowed at this point of the activity LifeCycle.
Bug Report
Capacitor Version
Platform(s)
Android
Current Behavior
Hey 馃憢馃徏
I got a tab bar in my app. When the user clicks on the second tab I want to show a Capacitor BridgeFragment. This worked fine with Capacitor 2.x.x. Here is the code:
After upgrading to 3.x.x the app crashes with a IllegalStateException. StackTrace below.
Expected Behavior
The Capacitor fragment is displayed normally.
Stack Trace
npm --versionoutput: 6.12.1node --versionoutput: v12.13.1Additional Context
When I directly add my Capacitor Fragment to my activity (not later, when the user did some action), I do not get this error.
The problem lays here:
at com.getcapacitor.Plugin.initializeActivityLaunchers(Plugin.java:133)Capacitor tries to register something permission-related, which is not allowed at this point of the activity LifeCycle.