Generates a global unique identifier that is the same every time this method is invoked on the same machine.
This method discovers various pieces of information about the local system such
as hostname, MAC address, OS name and version. It then combines this information with the
given salt to generate a globally unique identifier. In other words, every time you
call this method with the same salt on the same machine, you get the same identifier.
If you use the same salt on a different machine, a different identifier will be generated.
Note for Android users: This method does not generate unique identifiers on Android devices and will
throw an exception. We can't get details such as the hostname or MAC address on Android. Instead,
construct a UDN with new UDN(UUID)
. When your application is first started, generate all
UUIDs needed for your UPnP devices and store them in your Android preferences. Then, use the stored
UUID to create a UDN every time your application starts.
Control points can remember your device's identifier, it will and should be the same every time
your device is powered up.