Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Foros > J2ME (Java para móviles) > SecurityException: not authorized to access the restricted API
-Foros de debate

J2ME (Java para móviles)
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

SecurityException: not authorized to access the restricted API
Enviado por garduic el día 1 de junio de 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.

 

Tienda
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network