title: will onActivityResult() restart my activity?
body: <p>In my activity I am setting all the Views like ImageView, TextViews with theirs respective data using AsyncTask.</p>
  
  <p>after <code>asyncTask.Execute();</code> </p>
  
  <p>I have a <code>textView.onCLickListener</code> which calls Camera and after the picture is taken, the ImageView in the activity is set to this pic.</p>
  
  <p>But the problem is my asyncTask is called again after the onActivityResult();</p>
  
  <p>Here is my complete Activity code:</p>
  
  <pre><code>public class UserProfileActivity extends Activity {
  
  //many instance fiels here
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
  
          setContentView(R.layout.user_profile);
  
          new LongOperation().execute("");
  
          userImage = (ImageView) findViewById(R.id.profileImage);
          userName = (TextView) findViewById(R.id.userName_profile);
          userLocation = (TextView) findViewById(R.id.userLocation_profile);
          editInfo = (TextView) findViewById(R.id.edit_profile);
          changeImage = (TextView) findViewById(R.id.changeImage_profile);
          userScore = (TextView) findViewById(R.id.userScore_profile);
          friendsLabel = (TextView) findViewById(R.id.userFriends_profile);
  
  
              changeImage.setOnClickListener(new View.OnClickListener() {
  
                  public void onClick(View arg0) {
                      Intent cameraIntent = new Intent(
                              android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
                      startActivityForResult(cameraIntent, CAMERA_REQUEST);
  //Point 1
                  }
              });
  //Point 2
      }
      private class LongOperation extends AsyncTask&lt;String, Void, String&gt; {
  
          private InputStream is;
          private StringBuilder sb;
          private String result;
          private ProgressDialog dialog = new ProgressDialog(context);
  
          @Override
          protected String doInBackground(String... params) {
  
  //Point 3
              try {
                  HttpResponse response;
  
                      HttpPost httppost = new HttpPost(
                              "http://www.xxxxx.com/yyyy/zzzz");
                      //httpclient is global to maintain sessions
                      response = SignUpActivity.httpclient.execute(httppost);
                      HttpEntity entity = response.getEntity();
                      is = entity.getContent();
  
                  try {
                      BufferedReader reader = new BufferedReader(
                              new InputStreamReader(is, "iso-8859-1"), 8);
                      sb = new StringBuilder();
                      sb.append(reader.readLine() + "\n");
                      String line = "0";
                      while ((line = reader.readLine()) != null) {
                          sb.append(line + "\n");
                      }
                      is.close();
                      result = sb.toString();
                  } catch (Exception e) {
                      Log.e("error in reading input stream", e.toString());
                  }
                  try {
                      JSONObject jObj = new JSONObject(result);
                      String status = jObj.getString("status");
                      score = jObj.getInt("credits");
                      level = jObj.getInt("level");
                      image = jObj.getString("image");
                      fname = jObj.getString("fname");
                      lname = jObj.getString("lname");
                      city = jObj.getString("city");
                      email = jObj.getString("email");
                      clickedUserId = jObj.getInt("user_id");
  
                      JSONArray friendsJsonArray = jObj.getJSONArray("friends");
                      size = friendsJsonArray.length();
  
                      ArrayList&lt;String&gt; friendsNames = new ArrayList&lt;String&gt;();
                      friendsIds = new int[size];
                      for (int i = 0; i &lt; size; i++) {
  
                          friendsNames.add(friendsJsonArray.getJSONObject(i)
                                  .getString("name"));
                          friendsIds[i] = friendsJsonArray.getJSONObject(i)
                                  .getInt("user_id");
                      }
                      adapter = new ArrayAdapter&lt;String&gt;(context,
                              R.layout.simple_listview_item, friendsNames);
                  } catch (Exception e) {
  
                      Log.d("error in creating json object", e.toString());
                  }
              } catch (Exception e) {
  //Point 5
                  Log.e("error main try", "Error in http connection" + e.toString());
              }
              return "Executed";
          }
          @Override
          protected void onPostExecute(String result) {
  
              friendsList.setAdapter(adapter);
              userScore.setText(score + " points" + "   level " + level);
              userName.setText(fname + "  " + lname);
              userLocation.setText(city);
              changeImage.setText("Change image");
              editInfo.setText("Edit");
              friendsLabel.setText("Friends");
              Bitmap bitmap = null;
              try {
                  bitmap = BitmapFactory
                          .decodeStream((InputStream) new URL(image).getContent());
                  userImage.setImageBitmap(bitmap);
              } catch (MalformedURLException e1) {
  
                  e1.printStackTrace();
                  userImage.setImageResource(R.drawable.xxx);
              } catch (IOException e2) {
  
                  e2.printStackTrace();
                  userImage.setImageResource(R.drawable.xxx);
              }
  
              if (dialog.isShowing()) {
                  dialog.dismiss();
              }
          }
  
          @Override
          protected void onPreExecute() {
  
              this.dialog.setMessage("Please wait");
              this.dialog.show();
          }
  
          @Override
          protected void onProgressUpdate(Void... values) {
  
          }
      }
  
      protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  
          super.onActivityResult(requestCode, resultCode, data);
  
  //Point 4
          if (resultCode == RESULT_OK) {
              if (data != null) {
  
                  photo = (Bitmap) data.getExtras().get("data");
                  userImage.setImageBitmap(photo);
  
              }else{
  
                  Intent intent = new Intent(UserProfileActivity.this,
                          UserProfileActivity.class);
                  startActivity(intent);
              }
          } else {
  
              Intent intent = new Intent(UserProfileActivity.this,
                      UserProfileActivity.class);
              startActivity(intent);
          }
      }
  }
  </code></pre>