Reiniciando el dispositivo blackberry

Actualmente en el API de Blackberry no existe forma alguna de reinciar el equipo. Hay una funcion llamada Device.requestPowerOff. Sin embargo esta funcion no apaga realmente el equipo sino que lo pone en un estado de hibernacion ( apaga la pantalla #wtf ).

Sin embargo,  existe una forma un tanto rebuscada de lo lograr algo parecido. Para que Blackberry se digne reiniciar el equipo, es necesario que se quiera desinstalar una app que este en uso actualmente ( muy al estilo #windows ). 

El proceso entonces seria el siguiente:

  • Instalar una app fantasma ( una app sin codigo ni funcionalidad )
  • Ejecutar la app fantasma
  • Eliminar la app fantastma
  • Solicitarle a Blackberry que pregunte al usuario si quiere reiniciar el equipo.

 

public void reset() throws IOException, ApplicationManagerException{

// Cargamos el archivo de instalacion de la aplicacion fantasma

byte[] cod = IOUtilities.streamToBytes(getClass().getResourceAsStream("file.cod");
int mod = CodeModuleManager.createnewModule(cod.length, cod, cod.length );
if ( mod != 0 ){

  // Instalamos la aplicacion fantasma
  CodeModuleManager.saveNewModule(mod,true);

  // Ejecutamos la aplicacion fantasma
  ApplicationDescriptor app = CodeModuleManager.getApplicationDescriptors(mod)[0];
  ApplicationManager.getApplicationManager().runApplication(app, false );

  // Eliminamos la aplicacion fantasma
 CodeModuleManager.deleteModuleEx(mod, true);

  //Solicitamos a Blackberry le pregunte al usuario si quiere reiniciar
 CodeModuleManager.promptForResetIfRequired();  

}

}

 

 



Contactanos