How prevent calling oncreate method by system when rotation screen happenes?

android, oncreate, rotation

Solution

You can use

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

or

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

to lock the orientation. Because as you mentioned, the `onCreate` is called everytime the screen rotates.

But you have to call it before the `setContentView(R.layout.main)` Could look like this:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
    setContentView(R.layout.main); 
}

Problem

Hi stackoverflow friends. I have an player music and I call in oncreate playSong(id)(id is index of an array which has a path music in that index of array.But there is this problem that when rotates Screen then songs over and over plays from first index in array. I guess becuase oncreate method is called after each time event rotation. Also I want my app prevent from rotation becuse may be this event have bad effect in others activity.too, How I can fix these type of issues?

Original source