How to return to previous activity without any user interaction
<p>I'm new to android development and I'm trying to make an android app that calls an activity in a loop, but every time the activity returns result it has to show the main screen. The problem is that there can't be any user interaction, because the smartphone is going to be mounted on a robot and it's going to scan for barcodes and when it reads one it should return to the previous activity, which changes its background color, so the robot's color sensor could read it (I couldn't make the bluetooth connection working, so that's how I'm sending the information). After that it has to start scanning again. I've tried everything I could think of but it either returns to the main activity (shows the color), but never starts scanning again, or continues scanning every time it gets a result, but never shows the main screen. Here's the last version of the code:</p>

<pre><code>protected void onResume() {
    super.onResume();
     if(contents.contains("left")){
            layout.setBackgroundColor(Color.RED);
        }
        else if(contents.contains("right")){
            layout.setBackgroundColor(Color.BLUE);
        }
        try {
            Thread.sleep(3000);
        }
        catch (InterruptedException e) {}
        if(contents.contains("q")){
            layout.setBackgroundColor(Color.GREEN);
            try {
                    Thread.sleep(3000);
            } 
            catch (InterruptedException e) {}
            System.exit(0);
         }



    try {
            Intent intent = new Intent("com.google.zxing.client.android.SCAN");
            intent.putExtra("SCAN_MODE", "QR_CODE_MODE");

            startActivityForResult(intent, QR_ACTIVITY);
    }
    catch (Exception e) {}  
}


@Override
protected void onActivityResult(int requestCode, int resultCode,Intent intent) 
{
    super.onActivityResult(requestCode, resultCode, intent);
    if (resultCode == RESULT_OK) {
        if (requestCode == QR_ACTIVITY){
            contents = intent.getStringExtra("SCAN_RESULT");
        }
    }
}
</code></pre>

<p>This makes it start scanning again every time it gets a result, but it doesn't show the main screen.</p>
