add launchActivityIfNotAvailable