Chỉ muốn chặn hướng cho đến khi tất cả dữ liệu được tải trong chế độ xem của tôi. Vì vậy, tôi nghĩ về đoạn mã sau nhưng nó không hoạt động.Định hướng khóa cho đến khi kết thúc Asynctask
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);
}
}
Khi tôi chạy hai dòng SENSOR
và NOSENSOR
màn hình của tôi quay ngang tự động, mà không hiểu tại sao. Điều đó có thể xảy ra?
EDIT: tôi đặt những dòng sau để kiểm tra định hướng hiện tại với kết quả sau:
protected void onPreExecute() {
if (getResources().getConfiguration().orientation==Configuration.ORIENTATION_LANDSCAPE) {
Log.e("TAG","LANDSCAPE");
}else{
Log.e("TAG","PORTRAIT");
}
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
}
Kết quả Logcat:
LANDSCAPE
Nhưng nếu tôi loại bỏ hai dòng (SetRequestedOrientation
) để tôi nhận được điều này trong logcat:
PORTRAIT
Kiểm tra http://stackoverflow.com/questions/3821423/background-task-progress-dialog-orientation-change-is-there-any-100-working/3821998#3821998 – Slartibartfast