Mark A. Peters wrote: > I wrote code to beam an application, and figured that simply setting the > goToCreator field to the app's creator ID in the Exchange Manager socket for > the beam would make this happen. I was wrong though - the application was > never sent the goto launch code.
Which app is receiving the beam? Since your app isn't on the receiving device, it must be Launcher. So your code isn't involved. The only part of your code that gets executed on the receiving device is the syncNotify handler. This launch code doesn't have access to the socket, so it can't set the goto info. Max Bian wrote: > The common way is to set an alarm upon > getting the SyncNotify launch code. Exactly. > I don't see a way from the application's point of view that it can tell the > difference of being beamed or being installed. This is the key. If your app is doing the beaming, then it can change the app "on the way out". It doesn't really matter how it changes the app, just so long as the syncNotify handler can detect the change and behave differently. We used this technique for Cambio. Specifically, we set the hidden attribute on the app as it went through ExgDBWrite. We did this by counting bytes passing through the callback function. You could modify the app "in place", beam it normally, and then restore the app. I don't like this solution for several reasons. If the device is reset during the beam, the app will need to restore itself. Also, it doesn't work if the app is in ROM. Note that the app won't auto-launch if it's beamed via Launcher; it must be beamed by the app itself. This is all great fun, but you should ask yourself whether you want to auto-launch your app after it's beamed. For Cambio this is appropriate because the two devices need to swap app lists. I wouldn't recommend auto-launching apps as a general rule though. -- Danny @ PalmSource -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/tech/support/forums/
