ご助言ありがとうございます。
以下のような形で、実装して試させていただきました。
private class HogeTask extends AsyncTask<String, Integer, Integer> {
private ProgressDialog progressDialog;
protected void onPreExecute() {
~ ダイアログ生成 ~
Configuration config = getResources().getConfiguration();
setRequestedOrientation(config.orientation);
this.progressDialog.show();
}
protected void onPostExecute(Integer result) {
this.progressDialog.dismiss();
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
}
}
結果なのですが、Dialog表示時に端末の向きを変えても、画面が回転することはなくなりました。
しかし、Activityはきっちり破棄→生成されるらしく、問題は解決しませんでした。
画面回転を停止すればActivityの破棄を止められると考えた私の認識が甘かったようです。
On 1月12日, 午後10:15, shirou <
info.t...@gmail.com> wrote:
> shirouと申します。
>
> 今手元で試したわけではありませんので、間違ってたらすいません。
> たしかActivity.setRequestedOrientation を使うと、動的に画面の向きを変更、固定できたと思います。
>
> 現在の画面の向きをConfiguration.orientationで検知して、向きを固定、
> Dialog終了後、画面の向きの変更を有効にするために
> setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
> を再び設定すると良いのではないかと思います。
>
>
http://developer.android.com/intl/ja/reference/android/app/Activity.h...)