Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 4041944
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 20, 20262026-05-20T12:56:38+00:00 2026-05-20T12:56:38+00:00

I have an application that has a GUI and TCP server. The TCP server

  • 0

I have an application that has a GUI and TCP server. The TCP server is running in a different thread and when it receives a certain packet, it should start playing a video file (from MediaPlayer object). The problem is that as a GUI component, the video may be displayed only if invoked from the main thread. I added a listener class to the main class:

Class RequestListener implements NBRequestListener{  /* NBRequestListener is the interface */
public void onRequestArrived(String request) {
processRequest(request); /* This method will run the video */
}

I created a listener in the main thread and set it as a listener in the server:

RequestListener listener = new RequestListener();
server.setRequestListener(listener);

The code in the server is:

public void setRequestListener(_listener) {
listener = _listener; } /* listener is defined as RequestListener */

and the invocation of the event (in the server) is simply:

listener.onRequestArrived(input_from_client);

But the listener method is invoked in the server thread and not in the main thread and therefore I get exception: java.lang.reflect.InvocationTargetException. Could you please help pointing the problem?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-20T12:56:38+00:00Added an answer on May 20, 2026 at 12:56 pm

    Multiple ways to solve this one, here’s two:

    1. Use a Handler in your Activity. For example, when you get a notification from your background thread, that the video needs to be played, you send a message to your Activity’s handler. Code in your custom Handler gets to run on the UI thread. Here’s a tutorial (from the many) http://www.helloandroid.com/taxonomy/term/43

    2. When the background thread gets the packet, broadcast an Intent (startBroadcast() on the context class). Register a receiver for this broadcast in your Activity.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a GUI C# application that has a single button Start/Stop. Originally this
I have an application that has many different types of objects that each persist
I have a windows application which has a complex GUI that I would like
I have an application that has two different login windows for two different types
I have a c# windows form application that has a similar GUI functionality as
I have a Qt application that has two threads: the main thread that handles
I have a Win32 GUI application that has several edit controls (plain old EDIT
I have an application (Gtk) that has an embedded server (using circuits). Both components
I have a application that has a GUI where you can do some settings.
I have a C# Application that has a GUI and has its output type

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.