que estaba teniendo actividades 2 Un & B, sólo quería saber la actividad B está funcionando o no de A.
Inicialmente i siguieron "RunningTaskInfo" para resolver el problema, No estaba funcionando al 100%.
Así que creé una solución propia, publicaré mi solución. Usando la clase HashMap y AtomicBoolean.
public class ActivityStateTracker {
final private Map<String, AtomicBoolean> mMap = new HashMap<String, AtomicBoolean>();
private static ActivityStateTracker instance = null;
/**
* SingletonClass
* */
private ActivityStateTracker() {
}
public static ActivityStateTracker getInstance(String activityName, boolean defaultVal) {
if(instance == null) {
instance = new ActivityStateTracker();
}
instance.setDefaultValue(activityName, defaultVal);
return instance;
}
private void setDefaultValue(String activityName, boolean defaultVal) {
mMap.put(activityName, new AtomicBoolean(defaultVal));
}
public boolean isRunning(String activityName) {
final AtomicBoolean atomicBool = mMap.get(activityName);
return (mMap.get(activityName) == null) ? false : atomicBool.get();
}
public void setChangeState(String activityName, boolean value) {
final AtomicBoolean atomicBool = mMap.get(activityName);
if(atomicBool == null) {
setDefaultValue(activityName, value);
} else {
atomicBool.set(value);
mMap.put(activityName, atomicBool);
}
}
}
Ahora en la actividad B.
public static final String TAG = "EditScreenPopupActivity";
static ActivityStateTracker mActivityState = ActivityStateTracker.getInstance(TAG, false);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mActivityState.setChangeState(TAG, true);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_traslucent);
}
@Override
protected void onDestroy() {
mActivityState.setChangeState(TAG, false);
super.onDestroy();
}
Ahora en A. Actividad
public static final String TAG = "ToolTipPopupActivity";
static ActivityStateTracker mActivityState = ActivityStateTracker.getInstance(TAG, false);
/** Check Edit screen activity is running or not? */
if(mActivityState.isRunning("EditScreenPopupActivity")) {
finish();
}
.............. ........................
Esta solución funciona correctamente y en mi caso ... Espero que te ayude también ...
¿Está utilizando pestañas en su aplicación? –
No, cada actividad tiene su propio archivo xml – Vincent