After last update my app has the following issue:
java.lang.RuntimeException: Unable to start activity ComponentInfo{my.package/my.package.MyMainActivity}: android.util.AndroidRuntimeException: requestFeature() must be called before adding content
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1818)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1834)
at android.app.ActivityThread.access$500(ActivityThread.java:122)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1027)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:132)
at android.app.ActivityThread.main(ActivityThread.java:4126)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:491)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:844)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.util.AndroidRuntimeException: requestFeature() must be called before adding content
at com.android.internal.policy.impl.PhoneWindow.requestFeature(PhoneWindow.java:214)
at android.support.v7.app.ActionBarActivityDelegateHC.onCreate(ActionBarActivityDelegateHC.java:38)
at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:98)
at my.package.MyBaseActivity.onCreate(MyBaseActivity.java:68)
at my.package.MyApiServiceActivity.onCreate(MyApiServiceActivity.java:51)
at my.package.MyActivity.onCreate(MyActivity.java:88)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1050)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1782)
... 11 more
However, I'm never calling requestWindowFeature
or similar. There are no dialogues involved either. The report itself comes from BugSense, I never had this problem myself. It's a fairly popular app and the issue is exclusive to Android Honeycomb: 3.2, 3.2.1 and 3.1. It didn't happen in previous version of the app. The only change in onCreate
function since the update is the fact I switched from ActionBarSherlock
to ActionBarCompat
.
Anyone spotted this issue as well and/or has any ideas how to overcome the problem?
EDIT:
I am adding the link to the source for ActionBarActivityDelegateHC
from v7 package where the crash stack trace (Caused by...) starts. There the requestFeature call happens, but it's called correctly, even before super.onCreate
.
I use Gradle to import the package: compile 'com.android.support:appcompat-v7:18.0.+'
So looks like solution from @shomeser (comments to the question) is a way to go for the time being.
There are two ways to compromise:
android:configChanges="screenSize|orientation"
)onCreate
)if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB || Build.VERSION.SDK_INT <= Build.VERSION_CODES.HONEYCOMB_MR2) { this.setRequestedOrientation( ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); }
I also posted a ticket on Android Issue Tracker, but it being a Honeycomb issue, I don't expect getting an answer.
UPDATE: After releasing app with locked orientation for specific Honeycomb devices, I still see this crash being reported, though less frequent.
UPDATE 2: Issue was fixed! Now just wait for the release of new support lib: google issue tracker
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With