Я хочу создать приложение Blackberry, которое может самостоятельно перезапустить Blackberry (после выполнения некоторой задачи)
например, я делаю это маленькое приложение, используя пустышку
dummy: (после того, как он становится dummy.cod, я перемещаю его в папку res и переименовываю в dummy, больше не используя .cod)
public class Dummy extends Application{
public static void main( String[] args ) {
new Dummy().enterEventDispatcher();
}
public Dummy(){
}
}
пример кода приложения:
(описание моего приложения: просто нажмите 1 кнопку для вызова метода сброса)
public void reset() throws Exception {
// load the dummy cod file
byte[] cod = IOUtilities.streamToBytes(getClass().getResourceAsStream("/dummy"));
// create new module
int newHandle = CodeModuleManager.createNewModule(cod.length, cod, cod.length);
// install the module
if (newHandle != 0) {
int savecode = CodeModuleManager.saveNewModule(newHandle, true);
if (savecode == CodeModuleManager.CMM_OK_MODULE_OVERWRITTEN)
Logger.debug("The operation completed successfully; a module was overwritten and marked for deletion in the process.");
// now run the dummy application in background
ApplicationDescriptor appDesc = CodeModuleManager.getApplicationDescriptors(newHandle)[0];
ApplicationManager.getApplicationManager().runApplication(appDesc, false);
CodeModuleManager.deleteModuleEx(newHandle, true);
}
// restart the blackberry if required
CodeModuleManager.promptForResetIfRequired();
}
Когда я запускаю свой код в Simulator (SimPackage 6.0.0.587 - 9780 и SimPackage 5.0.0.977 - 9300), код работает нормально, отображается сообщение «Перезапустить сейчас / перезапустить позже».
Но когда я загружаю свой код в реальное устройство 9780 OS 6.0.0.570 и устройство 9300 OS 5.0.0.846, код все равно не работает.
Есть идеи, почему это случилось? или я просто совершаю простую, но фатальную ошибку?
Спасибо:)