Android 1.6: "android.view.WindowManager $ BadTokenException: no se puede agregar la ventana; el token nulo no es para una aplicación"

Estoy tratando de abrir una ventana de diálogo, pero cada vez que intento abrirla arroja esta excepción:

Uncaught handler: thread main exiting due to uncaught exception
android.view.WindowManager$BadTokenException: 
     Unable to add window -- token null is not for an application
  at android.view.ViewRoot.setView(ViewRoot.java:460)
  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
  at android.app.Dialog.show(Dialog.java:238)
  at android.app.Activity.showDialog(Activity.java:2413)

Lo estoy creando llamandoshowDialog con la identificación de la pantalla. losonCreateDialog El controlador registra bien y puedo recorrerlo sin problemas, pero lo he adjuntado ya que parece que me falta algo:

@Override
public Dialog onCreateDialog(int id)
{
    Dialog dialog;
    Context appContext = this.getApplicationContext();
    switch(id)
    {
        case RENAME_DIALOG_ID:
            Log.i("Edit", "Creating rename dialog...");
            dialog = new Dialog(appContext);
            dialog.setContentView(R.layout.rename);
            dialog.setTitle("Rename " + noteName);
            break;
        default:
            dialog = null;
            break;
    }
    return dialog;      
}

¿Hay algo que falta en esto? Algunas preguntas han hablado sobre tener este problema al crear un diálogo desdeonCreate, lo que sucede porque la actividad aún no se ha creado, pero esto proviene de una llamada desde un objeto de menú y elappContext parece que la variable se rellena correctamente en el depurador.

Respuestas a la pregunta(16)

Su respuesta a la pregunta