Только хотите заблокировать ориентацию, пока все данные не будут загружены в моем представлении. Поэтому я подумал о следующем коде, но он не работает.
private class task extends AsyncTask<String, Void, String> {
protected String doInBackground(String... params) {
...
}
protected void onPostExecute(String result) {
...
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
}
protected void onPreExecute() {
...
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
}
}
Когда я запускаю эти две строки SENSOR
и NOSENSOR
, мой экран автоматически поворачивается горизонтально, не понимая почему. Это может произойти?
EDIT: Я установил следующие строки для проверки текущей ориентации со следующим результатом:
protected void onPreExecute() {
if (getResources().getConfiguration().orientation==Configuration.ORIENTATION_LANDSCAPE) {
Log.e("TAG","LANDSCAPE");
}else{
Log.e("TAG","PORTRAIT");
}
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
}
Результат Logcat:
LANDSCAPE
Но если я удалю две строки (SetRequestedOrientation
), я получу это в logcat:
PORTRAIT