title: Android - Performing stop of activity that is not resumed
body: <p>When I push my app to background, and do some other stuff like whatsapp or sms, onResume it works great.<br>
   But I recently discovered that when I open/launch facebook app while my app is on background, I don't know what happens...<br>
  But onResume, the app misbehaves...<br>
  Don't do what it is required to do, but when I go back to homepage and come back it works fine
  Please help me out.. how to fix it ???  </p>
  
  <p>Logcat with all messages (without filter)</p>
  
  <pre><code>10-15 12:53:59.899: I/Adreno-EGL(32033): Remote Branch: quic/LNX.LA.3.5.1_RB1.1
  10-15 12:53:59.899: I/Adreno-EGL(32033): Local Patches: NONE
  10-15 12:53:59.899: I/Adreno-EGL(32033): Reconstruct Branch: AU_LINUX_ANDROID_LNX.LA.3.5.1_RB1.04.04.02.048.018 + f2fd134 +  NOTHING
  10-15 12:53:59.924: D/OpenGLRenderer(32033): Enabling debug mode 0
  10-15 12:54:00.000: V/AlarmManager(7677): sending alarm Alarm{42cfa490 type 3 android}
  10-15 12:54:00.110: I/ActivityManager(7677): Displayed uk.org.humanfocus.hfi/.EvaluateTrainingActivity: +838ms
  10-15 12:54:00.114: D/WifiStateMachine(7677): handleMessage: E msg.what=151572
  10-15 12:54:00.114: D/WifiStateMachine(7677): processMsg: ConnectedState
  10-15 12:54:00.114: D/WifiStateMachine(7677): processMsg: L2ConnectedState
  10-15 12:54:02.258: V/AlarmManager(7677): sending alarm Alarm{42ebd600 type 1 com.facebook.katana}
  10-15 12:54:02.274: V/AlarmManager(7677): sending alarm Alarm{42ec0ff0 type 1 com.android.chrome}
  10-15 12:54:02.428: D/hardware_info(7386): hw_info_append_hw_type : device_name = speaker
  10-15 12:54:03.011: W/BroadcastQueue(7677): Permission Denial: broadcasting Intent { act=android.net.conn.INET_CONDITION_ACTION flg=0x4000010 (has extras) } from null (pid=-1, uid=-1) requires com.facebook.permission.prod.FB_APP_COMMUNICATION due to registered receiver BroadcastFilter{41fdecd0 u0 ReceiverList{42b2f608 31941 com.facebook.katana/10103/u0 remote:429a17e8}}
  10-15 12:54:03.011: W/BroadcastQueue(7677): Permission Denial: broadcasting Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x4000010 (has extras) } from null (pid=-1, uid=-1) requires com.facebook.permission.prod.FB_APP_COMMUNICATION due to registered receiver BroadcastFilter{41fdecd0 u0 ReceiverList{42b2f608 31941 com.facebook.katana/10103/u0 remote:429a17e8}}
  10-15 12:54:03.118: D/WifiStateMachine(7677): handleMessage: E msg.what=151572
  10-15 12:54:03.118: D/WifiStateMachine(7677): processMsg: ConnectedState
  10-15 12:54:03.118: D/WifiStateMachine(7677): processMsg: L2ConnectedState
  10-15 12:54:03.140: D/WifiStateMachine(7677): handleMessage: X
  10-15 12:54:03.141: D/GCoreFlp(8174): Unknown pending intent to remove.
  10-15 12:54:03.145: W/fb4a(:&lt;default&gt;):AbstractMqttPushService(31941): Attempt to start service that is already started
  10-15 12:54:03.242: D/WifiStateMachine(7677): handleMessage: E msg.what=131155
  10-15 12:54:03.242: D/WifiStateMachine(7677): processMsg: ConnectedState
  10-15 12:54:03.243: D/WifiStateMachine(7677): processMsg: L2ConnectedState
  10-15 12:54:03.245: D/WifiStateMachine(7677): handleMessage: X
  10-15 12:54:03.319: D/dalvikvm(31941): GC_CONCURRENT freed 1833K, 9% free 20190K/22072K, paused 5ms+7ms, total 86ms
  10-15 12:54:03.320: D/dalvikvm(31941): WAIT_FOR_CONCURRENT_GC blocked 68ms
  10-15 12:54:03.323: W/MediaPlayer-JNI(31941): MediaPlayer finalized without being released
  10-15 12:54:03.452: W/BroadcastQueue(7677): Permission Denial: broadcasting Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x4000010 (has extras) } from null (pid=-1, uid=-1) requires com.facebook.permission.prod.FB_APP_COMMUNICATION due to registered receiver BroadcastFilter{42b51d68 u0 ReceiverList{429feb50 31941 com.facebook.katana/10103/u0 remote:41fb8788}}
  10-15 12:54:03.573: W/fb4a(:&lt;default&gt;):JACKSON_FALLBACK(31941): Using com.fasterxml.jackson.databind.deser.std.EnumDeserializer@42914bc8 to deserialize [simple type, class com.facebook.common.util.TriState]
  10-15 12:54:03.587: W/fb4a(:&lt;default&gt;):JACKSON_FALLBACK(31941): Using com.fasterxml.jackson.databind.deser.std.EnumDeserializer@42bb3100 to deserialize [simple type, class com.facebook.contacts.graphql.contactprofiletype.ContactProfileType]
  10-15 12:54:03.957: D/dalvikvm(31941): GC_CONCURRENT freed 3400K, 15% free 20455K/23952K, paused 4ms+7ms, total 88ms
  10-15 12:54:03.957: D/dalvikvm(31941): WAIT_FOR_CONCURRENT_GC blocked 75ms
  10-15 12:54:04.099: W/fb4a(:&lt;default&gt;):JACKSON_FALLBACK(31941): Using BeanSerializer for com.facebook.katana.newbookmark.qe.NewBookmarkConfig to serialize class com.facebook.katana.newbookmark.qe.NewBookmarkConfig
  10-15 12:54:04.119: D/WifiStateMachine(7677): handleMessage: E msg.what=151572
  10-15 12:54:04.120: D/WifiStateMachine(7677): processMsg: ConnectedState
  10-15 12:54:04.120: D/WifiStateMachine(7677): processMsg: L2ConnectedState
  10-15 12:54:04.124: D/WifiStateMachine(7677): handleMessage: X
  10-15 12:54:04.177: W/fb4a(:&lt;default&gt;):JACKSON_FALLBACK(31941): Using com.fasterxml.jackson.databind.deser.std.EnumDeserializer@42a30980 to deserialize [simple type, class com.facebook.platform.webdialogs.PlatformWebViewActionManifest$FetchState]
  10-15 12:54:04.197: I/dalvikvm(31941): Could not find method com.android.internal.widget.ILockSettings$Stub.a, referenced from method com.facebook.keyguardtype.LockSettingsServiceKeyguardTypeResolver.b
  10-15 12:54:04.197: W/dalvikvm(31941): VFY: unable to resolve static method 5338: Lcom/android/internal/widget/ILockSettings$Stub;.a (Landroid/os/IBinder;)Lcom/android/internal/widget/ILockSettings;
  10-15 12:54:04.197: D/dalvikvm(31941): VFY: replacing opcode 0x71 at 0x0023
  10-15 12:54:04.440: I/SBar.NetworkController(7758): onSignalStrengthsChanged SignalStrength: 19 0 -120 -160 -120 -1 -1 99 2147483647 2147483647 2147483647 2147483647 2147483647 gsm|lte 0 -108 -1 false 5 5 0 0 0 99 99 99 5 level=5
  10-15 12:54:04.814: V/WebViewChromiumFactoryProvider(31941): Binding Chromium to main looper Looper (main, tid 1) {41f8cbd0}
  10-15 12:54:04.815: I/LibraryLoader(31941): Expected native library version number "",actual native library version number ""
  10-15 12:54:04.816: I/chromium(31941): [INFO:library_loader_hooks.cc(116)] Chromium logging enabled: level = 0, default verbosity = 0
  10-15 12:54:04.817: I/BrowserStartupController(31941): Initializing chromium process, renderers=0
  10-15 12:54:04.822: E/AudioManagerAndroid(31941): BLUETOOTH permission is missing!
  10-15 12:54:04.864: W/chromium(31941): [WARNING:proxy_service.cc(890)] PAC support disabled because there is no system implementation
  10-15 12:54:05.121: D/WifiStateMachine(7677): handleMessage: E msg.what=151572
  10-15 12:54:05.121: D/WifiStateMachine(7677): processMsg: ConnectedState
  10-15 12:54:05.122: D/WifiStateMachine(7677): processMsg: L2ConnectedState
  </code></pre>
  
  <p>And this is onResume()</p>
  
  <pre><code>super.onResume();
  
          if (backgroundThreadRunning == true) {
              backgroundThreadRunning = false;
          }
  
          if (Constants.isVideoEditing)
              editingProgress.setVisibility(View.VISIBLE);
          else
              editingProgress.setVisibility(View.GONE);
  
          if (Constants.isAudioProcessing)
              addAudioProgress.setVisibility(View.VISIBLE);
          else
              addAudioProgress.setVisibility(View.GONE);
  
          if (isHomeKeyPressed() &amp;&amp; !(isRecentActivity)) {
              isRecentActivity = false;
              homeKeyPressed(false);
              AlertDialog.Builder ab = new AlertDialog.Builder(
                      CreateTrainingActivity.this);
              ab.setMessage(
                      "Due to Other Application Launches, video process will be cancelled!\nAre you sure you want to cancel?")
                      .setPositiveButton("Yes", dialogClickListener)
                      .setNegativeButton("No", dialogClickListener).show();
          }
  
      };
  </code></pre>
  
  <p><strong>EDIT: HOW I FIXED THE ISSUE</strong>  </p>
  
  <p>I wrote this code in <code>onResume()</code> method  </p>
  
  <pre><code>try {
      // check if any view exists on current view
      style = ((Button) findViewById(R.id.xyz_button));   
  } catch (Exception e) {
      // Button was not found
      // It means, your button doesn't exist on the "current" view
      // It was freed from the memory, therefore stop of activity was performed
      // In this case I restart my app
      Intent i = new Intent();
      i.setClass(getApplicationContext(), MainActivity.class);
      i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
      startActivity(i);
      // Show toast to the user
      Toast.makeText(getApplicationContext(), "Data lost due to excess use of other apps", Toast.LENGTH_LONG).show();
  }
  </code></pre>