@Swapnil, when you say that you cant call Alert Dialog from non ui thread ,
you can do that using a Handler as i said.Did u try that out ? It works in
my case where i do an an AsyncTask (seperate thread)in which i communicate
with the server and based on response i decide which screen to show. For
this i call the sendEmptyMessage which is handled by the Handler which is
written on the UI thread.
Thanks,
Alok.

On Thu, Dec 31, 2009 at 1:45 PM, Miguel Morales <[email protected]>wrote:

> Sorry, just re-read your original text, it seems that message passing
> between threads is the way to go.
> Just use two way message passing.
>
> On Thu, Dec 31, 2009 at 12:09 AM, Miguel Morales
> <[email protected]> wrote:
> > Why not use Thread.wait() and Thread.notify() to communicate with the
> > working thread.
> > Or perhaps message passing to tell the worker thread to wait until
> > further notice.
> >
> > here's how I would do it, though I'm not sure about wait() and
> > notify() since I never use them myself.  But I *think* it would go
> > something like this:
> >
> > /*worker thread class*/
> > class MyThread extends Thread
> > {
> >    Handler mHandler;
> >    public static final int DONE_MSG = 123;
> >    MyThread(Handler pHandler)
> >    {
> >        mHandler = pHandler;
> >    }
> >    @Override run()
> >    {
> >        //do something.....
> >       Bundle bundle = new Bundle();
> >       bundle.putInt("TYPE", DONE_MSG);
> >       Message msg = new Message();
> >       msg.setData(bundle);
> >       mHandler.sendMessage(msg);
> > }
> >
> > /*activity class*/
> > private Handler message_handler = new Handler()
> > {
> >    Bundle bundle = msg.getData();
> >    int type = bundle.getInt("TYPE");
> >    if ( type == MyThread.DONE_MSG )
> >    {
> >        //dismiss the dialog...
> >        tThread.notify();
> >    }
> > }
> >
> > tThread = new MyThread(message_handler);
> > tThread.start();
> >
> > //then from your onClick handler....
> > //show the dialog....
> > tThread.wait();
> >
> > On Wed, Dec 30, 2009 at 11:49 PM, swapnil kamble <[email protected]>
> wrote:
> >> Let me reframe my question. My intention is not to block UI thread but
> to
> >> block a thread when AlertDialog is shown till the user provides
> confirmation
> >> response.
> >>
> >> I have handshake process, where I have to provide an option to user
> whether
> >> to accept/reject and based on that user response I want to return a
> boolean
> >> value. And unless this response is not provided next line should not get
> >> executed, just exactly what Windows MessageBox does.
> >>
> >> Now there are two option to start this handshake process, one either
> from UI
> >> thread i.e. starting from some onclick event listener. But I can't use
> this
> >> way, because I want to block thread until response is not provided(modal
> >> dialog). Blocking this thread means blocking whole app. So this way i
> can't
> >> do this.
> >>
> >> Second option is to spawn a new worker thread and then run handshaking
> from
> >> it, we don't mind blocking non-ui thread. But again problem here is that
> I
> >> can't show AlertDialog from non UI thread.
> >>
> >> I know there is an option to post message and display AlertDialog from
> that
> >> Handler, but then in that case my thread continues and completes its
> >> execution even if user response is not provided which I don't want.
> >>
> >> On Wed, Dec 30, 2009 at 1:16 PM, Romain Guy <[email protected]>
> wrote:
> >>>
> >>> If you block the UI thread, the dialog won't work. The user won't be
> >>> able to click it, and it might not even draw at all. So a very bad
> >>> idea :)
> >>>
> >>> On Tue, Dec 29, 2009 at 10:33 PM, Frank Weiss <[email protected]>
> wrote:
> >>> > Just like Treking, I'm puzzled by Swapnil's desire to block the UI
> >>> > thread.
> >>> > Perhaps if he explained what he does not want the UI thread doing
> while
> >>> > the
> >>> > dialog is displayed, would shed light on the issue for all.
> >>> >
> >>> > On Dec 29, 2009 9:59 PM, "TreKing" <[email protected]> wrote:
> >>> >
> >>> >> I can put my code in listeners but still I dont want that thread to
> >>> >> continue its execution
> >>> >
> >>> > Which thread? The UI thread? I'm pretty sure you DO want the UI
> thread
> >>> > to
> >>> > continue it's execution. Why would you NOT?
> >>> > What are you trying to accomplish? I can't think of why you would
> want
> >>> > this
> >>> > behavior...
> >>> >
> >>> >
> >>> >
> -------------------------------------------------------------------------------------------------
> >>> > ...
> >>> >
> >>> > On Wed, Dec 30, 2009 at 12:27 AM, swapnil kamble <
> [email protected]>
> >>> > wrote: > > Thanks for your ...
> >>> >
> >>> > --
> >>> >
> >>> > You received this message because you are subscribed to the Google
> >>> > Groups
> >>> > "Android Developers" group...
> >>> >
> >>> > --
> >>> > You received this message because you are subscribed to the Google
> >>> > Groups "Android Developers" group.
> >>> > To post to this group, send email to
> [email protected]
> >>> > To unsubscribe from this group, send email to
> >>> > [email protected]<android-developers%[email protected]>
> >>> > For more options, visit this group at
> >>> > http://groups.google.com/group/android-developers?hl=en
> >>>
> >>>
> >>>
> >>> --
> >>> Romain Guy
> >>> Android framework engineer
> >>> [email protected]
> >>>
> >>> Note: please don't send private questions to me, as I don't have time
> >>> to provide private support.  All such questions should be posted on
> >>> public forums, where I and others can see and answer them
> >>>
> >>> --
> >>> You received this message because you are subscribed to the Google
> >>> Groups "Android Developers" group.
> >>> To post to this group, send email to
> [email protected]
> >>> To unsubscribe from this group, send email to
> >>> [email protected]<android-developers%[email protected]>
> >>> For more options, visit this group at
> >>> http://groups.google.com/group/android-developers?hl=en
> >>
> >>
> >> --
> >> ...Swapnil
> >>
> >> || Hare Krishna Hare Krishna Krishna Krishna Hare Hare ||
> >> || Hare Rama    Hare Rama   Rama   Rama    Hare Hare ||
> >>
> >> --
> >> You received this message because you are subscribed to the Google
> >> Groups "Android Developers" group.
> >> To post to this group, send email to
> [email protected]
> >> To unsubscribe from this group, send email to
> >> [email protected]<android-developers%[email protected]>
> >> For more options, visit this group at
> >> http://groups.google.com/group/android-developers?hl=en
> >
> >
> >
> > --
> > The Revolting X Software/Music Production:
> > http://diastrofunk.com
> >
>
>
>
> --
> The Revolting X Software/Music Production:
> http://diastrofunk.com
> Blogspot:
> http://developingthedream.blogspot.com/
> Youtube:
> http://www.youtube.com/user/revoltingx
> ~Isaiah 55:8-9
>
> --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]<android-developers%[email protected]>
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en
>

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to