La clase de aplicación global personalizada se rompe con "android.app.Application no se puede convertir a"

Tengo una clase global personalizada que se ve así

import android.app.Application;

public class MyApp extends Application {

    public String MainAct;

    public String getMainAct() {
        return MainAct;
    }

    public void setMainAct(String mainAct) {
        MainAct = mainAct;
    }
}

Quiero preservar una cadena en esta clase a través de otraActivity en suonCreate método.

    String local = "myLocalVariable";
    ((MyApp) getApplication()).setMainAct(local); //breaks here!!!
    String name = ((MyApp) getApplication()).getMainAct();

Se rompe en la línea marcada con error:Caused by: java.lang.ClassCastException: android.app.Application cannot be cast to com.xxx.yyy.global.MyApp

He revisado el código cinco veces y no puedo encontrar el error en ninguna parte. ¿Alguien puede decirme dónde está el error?

Gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta