SecurityException: not authorized to access the restricted API

garduic
01 de Junio del 2006
Hola a todos!!!
Estoy desarrollando un videojuego y a la hora de mandar una alerta me aparece la siguiente Excepcion:
java.lang.SecurityException: Application not authorized to access the restricted API
at com.sun.midp.security.SecurityToken.checkIfPermissionAllowed(+40)
at com.sun.midp.security.SecurityToken.checkIfPermissionAllowed(+7)
at com.sun.midp.midletsuite.MIDletSuiteImpl.checkIfPermissionAllowed(+8)
at com.sun.midp.midlet.MIDletState.<init>(+78)
at javax.microedition.midlet.MIDletProxy.<init>(+5)
at javax.microedition.midlet.MIDlet.<init>(+13)
at Principal.M3GMidlet.<init>(+4)
at Principal.M3GCanvas.interaccion(+1352)
at Principal.M3GCanvas.run(+32)

La cuestion esta as铆; tengo mi archivo principal java que instancia el canvas que tengo en la clase en donde despliego todos los graficos y la interacci贸n del videojuego. Al detectar una accion especifica mando a llamar la alerta que quiero desplegar instanciando la clase principal, la cual obtiene el CommandListener para poder regresar el control al canvas de la clase que lo llamo. La excepcion la arroja cunado mando a llamar de la clase canvas a la clase principal. Alguien podria ayudarme porfavor???
Aqui anexo una parte de codigo:

**************clase principal*********************
public class M3GMidlet extends MIDlet implements CommandListener
{
...
private M3GCanvas canvas = null;
private Command Pausador = new Command("Continuar", Command.OK, 0);
private Command Salir = new Command("Salir", Command.EXIT, 99);
private Alert alerta;

public M3GMidlet() {
...
canvas = new M3GCanvas(30, display);
...
canvas.setCommandListener(this);
}

public void commandAction(Command c, Displayable d) {
if(c == Pausador){
if (canvas.isPaused())
canvas.start();
else
canvas.pausar();
} else if(c == Salir)
notifyDestroyed();
}

void mostrar_alerta(){
alerta = new Alert("Numeros con signo");
alerta.setTimeout(Alert.FOREVER);
alerta.addCommand(Pausador);
alerta.setString("Prueba de ALERTA");
alerta.setCommandListener(this);
display.setCurrent(alerta);
}
**************Clase donde tiene lugar el juego****************

public class M3GCanvasextends GameCanvas
implements Runnable {
private M3GMidlet alert = null;
......

public M3GCanvas(int fps, Display d)
{
super(true);
frames = fps;
display = d;
setFullScreenMode(true);
loadWorld();
loadCamera();
loadSounds();
}
.....

public void start() {
if (pausado){
pausado = false;
display.setCurrent(this);
myThread = new Thread(this);
myThread.start();
}
}
<<<<<<<< ciclo del juego>>>>>>
{
aqui es donde pongo la condicion que necesito que se cumpla para que pueda mandar la ALERTA
if (condicion){
pausar();
try{
alert = new M3GMidlet( indicador_contenidos );
} catch (Exception e){reportException(e);}
}
}
..............
//fin

Espero que alguien pueda ayudarme. Gracias de antemano.