A MIDlet can be updated from within a MIDlet by using the platform request command:
If the JAD file is for the new version of your application it will update the existing application. While doing this as some platform don't support concurrent processing the existing MIDlet will be exited. The platformRequest() will return true in such case to indicate that the MIDlet will be closed. In that case MIDlet must be prepared to exit gracefully.
NOTE: Motorola devices do NOT support JAD and JAR types through the platformRequest() method