Yes, phil, this's exactly what I thought before I posted this thread: rewrite all of them by custom Components, use some of the Component's methods, then get a DialogWindow::LaunchOptions to show it up. However, my situation isn't so simple, I have many AlertWindows, each of them have different widgets and behavior... One even has 5 buttons, 4 TextEditors, 2 ComboBoxes and a custom Component. :D
Like I said, I've used PopuMenu::showMenuAsync() and AlertWindow::showOkAndCancelBox (use static callback function) to modified the old codes easily, so I thought maybe there's a method perhaps could use a callback function or something else to replace AlertWindow::runModalLoops().
Now, I'm considering to write a class called AlertWindowForLoopfinesMiserable include the most methods of AlertWindow's, except the Component::runModalLoops()... :)
BTW, I think Jules should add some words to the comments of AlertWindow class, remind all JUCE programmers not to use runModalLoop() on any Android project....If I'm wrong again, please forgive it.