Selection for MultiSelectable Applets

The MultiSelectable interface defines one method to be invoked instead of Applet.select() when the applet being selected, or any other applet in its package, is already selected on another logical channel:

public boolean MultiSelectable.select(boolean appInstAlreadySelected)

The MultiSelectable.select(boolean) method informs the applet instance if it is selected more than once on different channels, or if another applet in the same package is selected on another channel on any interface. The parameter appInstAlreadySelected is true if the applet is selected on a different channel. It is false if it is not selected. The method can return either true or false to accept or reject applet selection.

This method can be called as a result of issuing a SELECT FILE or a MANAGE CHANNEL OPEN APDU command used to select an applet. If the applet is not selected, then the appInstAlreadySelected parameter is passed as false to signal an applet activation event. If the applet is subsequently selected on another channel, MultiSelectable.select(boolean) is called again, but this time, the appInstAlreadySelected parameter is passed as true, to indicate that the applet is already active.