public class UDN extends Object
UDA 1.0 does not specify a UUID format, however, UDA 1.1 specifies a format that is compatible with java.util.UUID variant 4. You can use any identifier string you like.
You'll most likely need the uniqueSystemIdentifier(String)
method sooner or later.
Constructor and Description |
---|
UDN(String identifierString) |
UDN(UUID uuid) |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object o) |
String |
getIdentifierString() |
int |
hashCode() |
boolean |
isUDA11Compliant() |
String |
toString() |
static UDN |
uniqueSystemIdentifier(String salt)
Generates a global unique identifier that is the same every time this method is invoked on the same machine with
the same argument.
|
static UDN |
valueOf(String udnString) |
public static final String PREFIX
public UDN(String identifierString)
identifierString
- The identifier string without the "uuid:" prefix.public UDN(UUID uuid)
public boolean isUDA11Compliant()
public String getIdentifierString()
public static UDN uniqueSystemIdentifier(String salt)
This method combines the first non-loopback network interface's MAC address with 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.
salt
- An arbitrary string that uniquely identifies the device on the current system, e.g. "MyMediaServer".Copyright © 2016 4th Line GmbH, Switzerland. All rights reserved.