title: startActivityForResult to an activity that only displays a progressdialog
body: <p>I'm trying to make an activity that is asked for some result. This result is normally returned instantly (in the onCreate), however, sometimes it is nesesary to wait for some internet-content to download which causes the "loader"-activity to show. What I want is that the loader-activity don't display anything more than a progressdialog (and that you can still se the old activity calling the loader-activity in the background) and I'm wondering wheather or not this is possible.</p>
  
  <p>The code I'm using as of now is:</p>
  
  <pre><code>//ListComicsActivity.java
  public class ListComicsActivity extends Activity
  {
      private static final int REQUEST_COMICS = 1;
  
  
      /** Called when the activity is first created. */
      @Override
      public void onCreate(Bundle savedInstanceState)
      {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.list_comics);
  
          Button button = (Button)findViewById(R.id.Button01);
          button.setOnClickListener(new OnClickListener()
          {
  
              @Override
              public void onClick(View v) {
                  Intent intent = new Intent();
                  intent.setAction(Intents.ACTION_GET_COMICS);
                  startActivityForResult(intent, REQUEST_COMICS);
              }
          });
      }
  
      /** Called when an activity called by using startActivityForResult finishes. */
      @Override
      public void onActivityResult(int requestCode, int resultCode, Intent data)
      {
          Toast toast = Toast.makeText(this, "The activity finnished", Toast.LENGTH_SHORT);
          toast.show();
      }
  }
  
  
  //LoaderActivity.java (answers to Intents.ACTION_GET_COMICS action-filter)
  public class LoaderActivity extends Activity
  {
      private Intent result = null;
      private ProgressDialog pg = null;
      private Runnable returner = new Runnable()
      {
          public void run()
          {
              if(pg != null)
                  pg.dismiss();
              LoaderActivity.this.setResult(Activity.RESULT_OK, result);
              LoaderActivity.this.finish();
          }
      };
  
      /** Called when the activity is first created. */
      @Override
      public void onCreate(Bundle savedInstanceState)
      {
          super.onCreate(savedInstanceState);
  
  
          String action = getIntent().getAction();
          if(action.equals(Intents.ACTION_GET_COMICS))
          {
              Runnable loader = new Runnable()
              {
                  public void run()
                  {
                      WebProvider.DownloadComicList();
                      Intent intent = new Intent();
                      intent.setDataAndType(ComicContentProvider.COMIC_URI, "vnd.android.cursor.dir/vnd.mymir.comic");
                      returnResult(intent);
                  }
              };
              pg = ProgressDialog.show(this, "Downloading", "Please wait, retrieving data....");
              Thread thread = new Thread(null, loader, "LoadComicList");
              thread.start();
          }
          else
          {
              setResult(Activity.RESULT_CANCELED);
              finish();
          }
      }
  
      private void returnResult(Intent intent)
      {
          result = intent;
          runOnUiThread(returner);
      }
  }
  </code></pre>