Prevent Android Activity From Being Recreated On Turning Screen Off
Solution 1:
The solution to this problem may be the same as that described here: onDestroy gets called each time the screen goes on
It sounds like your activity is being restarted due to configuration changes, see http://developer.android.com/guide/topics/resources/runtime-changes.html. The most common is when your app is in landscape mode (like most games) and then the screen lock is engaged by tapping the power button. The screen-lock is in portrait mode and therefore triggers a change in orientation which triggers the activity to be restarted.
This behaviour can be overridden by adding:
android:configChanges="orientation|keyboardHidden"
... to your manifest file if you are targeting API level less than 13. Or
android:configChanges="orientation|keyboardHidden|screenSize"
... if you are targeting API level greater than 13.
Note you may need to go project->properties and update your project build target. 'screenSize' will not be recognised if your build target is less than 13.
It may be a different configuration change that is causing the activity to be reset. The following link provides a list of the possible configuration changes: http://developer.android.com/guide/topics/manifest/activity-element.html#config
Solution 2:
add:
android:launchMode="singleTop"
to the activity part in the manifest xml. see here http://developer.android.com/guide/topics/manifest/activity-element.html
Solution 3:
- Create the view in Application.onCreate().
- Add the view to a layout in Activity.onCreate().
- Remove the view from the layout in Activity.onDestroy().
Details are here: Attach/detach Android view to/from layout
Post a Comment for "Prevent Android Activity From Being Recreated On Turning Screen Off"