Galaxy S3 - taking picture in portrait mode destroys activity

折月煮酒 提交于 2019-11-30 11:55:17

If you are targeting beyond API level 13, Adding

android:configChanges="orientation|keyboardHidden"

to the Manifest will not be enough.

Check this extract from Android documentation

Note: If your application targets API level 13 or higher (as declared by the minSdkVersion and targetSdkVersion attributes), then you should also declare the "screenSize" configuration, because it also changes when a device switches between portrait and landscape orientations.

Hence try adding

android:configChanges="orientation|keyboardHidden|screenSize"

to your Manifest file. This should solve your problem.

Android can call the destroy() method in certain scenarios. One is when we use the method finish(). An alternative is to use the method isFinishing () from Activity class. If it really is being finalized could finalize their resources, otherwise, you can keep the values ​​allocated a class that inherits Application

@Override
protected void onDestroy() {

    final YourApp app = (YourApp) getApplicationContext();
    if (app != null && isFinishing()) {
        app.finalizeAppResources();
    }

    // ...

    super.onDestroy();
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!