Note that there are some explanatory texts on larger screens.

plurals
  1. POException caused by still running thread on back button press(Android)
    text
    copied!<p>I'm using code similar to whats below with the exception that the thread is started via a button press. When I press the button, the data at the url is grabbed and it switches me over to the other activity. The issue i'm having is when I'm at the other activity and hit the backbutton I get an Exception saying that the thread has already been started. I've tried killing the thread when the activity loads checking for isAlive but it won't seem to die. Does anyone happen to know how I would get this activity back to it's original state with the created thread not running?</p> <pre><code>import java.io.BufferedInputStream; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; import org.apache.http.util.ByteArrayBuffer; public class Iconic extends Activity { private String html = ""; private Handler mHandler; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mHandler = new Handler(); checkUpdate.start(); } private Thread checkUpdate = new Thread() { public void run() { try { URL updateURL = new URL("http://iconic.4feets.com/update"); URLConnection conn = updateURL.openConnection(); InputStream is = conn.getInputStream(); BufferedInputStream bis = new BufferedInputStream(is); ByteArrayBuffer baf = new ByteArrayBuffer(50); int current = 0; while((current = bis.read()) != -1){ baf.append((byte)current); } /* Convert the Bytes read to a String. */ html = new String(baf.toByteArray()); mHandler.post(showUpdate); } catch (Exception e) { } } }; private Runnable showUpdate = new Runnable(){ public void run(){ Intent newIntent = New Intent(Iconic.this, otherClass.class); startActivity(newIntent); } }; </code></pre> <p>} </p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload