すべてのデータが自分のビューにロードされるまで、向きをブロックしたいだけです。だから私は次のコードについて考えましたが、うまくいきません。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);
}
}
私はSENSOR
次の2行を実行し、NOSENSOR
私の画面は、なぜ理解せず、自動的に横になります。それは起こっているかもしれませんか?
EDIT:Logcatの
protected void onPreExecute() {
if (getResources().getConfiguration().orientation==Configuration.ORIENTATION_LANDSCAPE) {
Log.e("TAG","LANDSCAPE");
}else{
Log.e("TAG","PORTRAIT");
}
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
}
結果: 私は次のような結果と現在の向きを確認するには、次の行を入れて
LANDSCAPE
しかし、私は2を削除する場合行(SetRequestedOrientation
)私はlogcatでこれを取得しますか:
PORTRAIT
これを確認してくださいhttp://stackoverflow.com/questions/3821423/background-task-progress-dialog-orientation-change-is-there-any-100-working/3821998#3821998 – Slartibartfast