У меня есть приложение для Android, которое начинается с отображения диалогового окна. Когда я устанавливаю ориентацию в книжную и запускаю на эмуляторе Android 3.1, отображается диалоговое окно, но как только пользователь отклоняет его, оно отображается снова. Этого не происходит в эмуляторе 3.2 или если ориентация не установлена. Как сделать так, чтобы диалоговое окно не отображалось дважды в Android 3.1 с ориентацией в книжную ориентацию?
Вот код:
public class TestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
showDialog(0);
}
protected Dialog onCreateDialog(int id) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Message.")
.setPositiveButton("Ok.", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// nothing
}
});
return builder.create();
}
}
Вот манифест:
<uses-sdk android:minSdkVersion="7" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".TestActivity"
android:label="@string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Когда мой эмулятор открывается, он находится в альбомной ориентации, если это имеет значение.