@Override
    public void showScreen(final int screenId, final EventTable details) {
        Log.iForce(LOG_PRAEFIX + "showScreen:" + screenId + ":" + details);

        switch (screenId) {
            case MAINSCREEN:
            case INVENTORYSCREEN:
            case ITEMSCREEN:
            case LOCATIONSCREEN:
            case TASKSCREEN:
                WherigoDialogManager.get().clear();
                final Activity currentActivity = CgeoApplication.getInstance().getCurrentForegroundActivity();
                if (currentActivity instanceof WherigoActivity) {
                    return;
                }
                //don't open the screens here, just issue a toast advising user to check
                final WherigoThingType type = WherigoThingType.getByWherigoScreenId(screenId);
                if (type == null) {
                    ActivityMixin.showApplicationToast(LocalizationUtils.getString(R.string.wherigo_toast_check_game));
                } else {
                    ActivityMixin.showApplicationToast(LocalizationUtils.getString(R.string.wherigo_toast_check_things, type.toUserDisplayableString()));
                }
                break;
            case DETAILSCREEN:
                WherigoViewUtils.displayThing(null, details, true);
                break;
            default:
                Log.w(LOG_PRAEFIX + "showDialog called with unknown screenId: " + screenId + " [" + details + "]");
                // do nothing
                break;
        }

    }
From OpenWIG doku:
Shows a specified screen
<p>
The screen specified by screenId should be made visible.
If a dialog or an input is open, it must be closed before
showing the screen.
@param screenId the screen to be shown
@param details if screenId is DETAILSCREEN, details of this object will be displayed
main/src/main/java/cgeo/geocaching/wherigo/WherigoGame.java