Actually the ID is not very significant here you know, the launcher already called the function with the same ID, so why did I return this ID back? No, I'm not return the ID but some message addition to the boolean return value. So the message itself is relatively important.
The ID itself is meaningless for this method, you know, the return message was once like "Application failed to launch." No id was there. Though this message is also meaningless since we've already have the 'false' return value. The reason why I still want this message is that, maybe there will some other info passed from application_system indicating some other error reasons, like "disk full" or "Permission denied" etc..