DiscoveryRequest


class DiscoveryRequest : Parcelable
kotlin.Any
   ↳ android.net.nsd.DiscoveryRequest

Encapsulates parameters for android.net.nsd.NsdManager#discoverServices.

Summary

Nested classes

The builder for creating new DiscoveryRequest objects.

Constants
static Long

Indicates that a UI service picker should never be shown to the user for this request.

static Long

Indicates that a UI service picker must be shown to the user for this request.

static Long

Indicates that only services previously approved by the user must be discovered.

Inherited constants
Public methods
Int

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.

Boolean
equals(other: Any?)

Indicates whether some other object is "equal to" this one.

MutableMap<String!, PatternMatcher!>

Returns the filters to apply to attributes as per NsdServiceInfo.getAttributes().

String?

Return the attribute to use to display the service in system UI service picker.

Long

Returns the discovery flags.

Network?

Returns the Network on which the query should be sent or null if no network is specified.

PatternMatcher?

Returns the filter to apply to service names as per NsdServiceInfo.getServiceName().

String

Returns the service type in format of dot-joint string of two labels.

String?

Returns the subtype without the trailing ".

Int

Returns a hash code value for the object.

String

Returns a string representation of the object.

Unit
writeToParcel(dest: Parcel, flags: Int)

Flatten this object in to a Parcel.

Properties
static Parcelable.Creator<DiscoveryRequest!>

Constants

FLAG_NO_PICKER

Added in API level 35
static val FLAG_NO_PICKER: Long

Indicates that a UI service picker should never be shown to the user for this request.

Starting from target SDK android.os.Build.VERSION_CODES#CINNAMON_BUN, if the caller does not have the android.Manifest.permission#ACCESS_LOCAL_NETWORK permission and does not specify FLAG_USER_APPROVED_ONLY, this will cause the request to fail with android.net.nsd.NsdManager.DiscoveryListener.onStartDiscoveryFailed(String,int) and NsdManager.FAILURE_PERMISSION_DENIED.

If neither FLAG_NO_PICKER nor FLAG_SHOW_PICKER is set, the picker will be shown if the app does not have android.Manifest.permission#ACCESS_LOCAL_NETWORK permission.
Value is either 0 or a combination of the following:

Value: 1L

FLAG_SHOW_PICKER

Added in API level 35
static val FLAG_SHOW_PICKER: Long

Indicates that a UI service picker must be shown to the user for this request.

If this flag is set, the user will be prompted to choose a service to be discovered among all services matching the discovery service type and discovery filters. android.net.nsd.NsdManager.DiscoveryListener.onServiceFound(NsdServiceInfo) will be called at most once, and discovery will stop if a service is selected or the user cancels the request. android.Manifest.permission#ACCESS_LOCAL_NETWORK permission is *not* necessary when discovering with this flag.

Once a service has been selected by the user in the UI picker, NsdManager.resolveService(NsdServiceInfo,java.util.concurrent.Executor,NsdManager.ResolveListener) or NsdManager.registerServiceInfoCallback(NsdServiceInfo,Executor,NsdManager.ServiceInfoCallback) can be called for that service without requiring the android.Manifest.permission#ACCESS_LOCAL_NETWORK permission or any further UI being displayed.

If neither FLAG_NO_PICKER nor FLAG_SHOW_PICKER is set, the picker will be shown if the app does not have android.Manifest.permission#ACCESS_LOCAL_NETWORK permission.

This flag cannot be combined with FLAG_NO_PICKER or FLAG_USER_APPROVED_ONLY.
Value is either 0 or a combination of the following:

Value: 2L

FLAG_USER_APPROVED_ONLY

Added in API level 35
static val FLAG_USER_APPROVED_ONLY: Long

Indicates that only services previously approved by the user must be discovered.

If this flag is set, only services that have been selected by the user in previous requests that used the service picker UI will be discovered. android.Manifest.permission#ACCESS_LOCAL_NETWORK permission is *not* necessary when discovering with this flag.

This flag implies FLAG_NO_PICKER, and it cannot be combined with FLAG_SHOW_PICKER.
Value is either 0 or a combination of the following:

Value: 4L

Public methods

describeContents

Added in API level 35
fun describeContents(): Int

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of writeToParcel(Parcel,int), the return value of this method must include the CONTENTS_FILE_DESCRIPTOR bit.

Return
Int a bitmask indicating the set of special object types marshaled by this Parcelable object instance.
Value is either 0 or

equals

Added in API level 35
fun equals(other: Any?): Boolean

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
obj the reference object with which to compare.
Return
Boolean true if this object is the same as the obj argument; false otherwise.

getAttributeFilters

Added in API level 35
fun getAttributeFilters(): MutableMap<String!, PatternMatcher!>

Returns the filters to apply to attributes as per NsdServiceInfo.getAttributes().

Return
MutableMap<String!, PatternMatcher!> This value cannot be null.

getDisplayNameAttribute

Added in API level 35
fun getDisplayNameAttribute(): String?

Return the attribute to use to display the service in system UI service picker.

Attributes are as per NsdServiceInfo.getAttributes().

If null, the service name as per NsdServiceInfo.getServiceName() is used.

getFlags

Added in API level 35
fun getFlags(): Long

Returns the discovery flags.

Return
Long Value is either 0 or a combination of the following:

getNetwork

fun getNetwork(): Network?

Returns the Network on which the query should be sent or null if no network is specified.

getServiceNameFilter

Added in API level 35
fun getServiceNameFilter(): PatternMatcher?

Returns the filter to apply to service names as per NsdServiceInfo.getServiceName().

As per RFC6335 5.1., service names must be only US-ASCII letters, digits and hyphens, and matching is not case-sensitive.

If null, services are not filtered by name.

getServiceType

fun getServiceType(): String

Returns the service type in format of dot-joint string of two labels. For example, "_ipp._tcp" for internet printer and "_matter._tcp" for Matter operational device.

Return
String This value cannot be null.

getSubtype

fun getSubtype(): String?

Returns the subtype without the trailing "._sub" label or null if no subtype is specified. For example, the return value will be "_printer" for subtype "_printer._sub".

hashCode

Added in API level 35
fun hashCode(): Int

Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Return
Int a hash code value for this object.

toString

Added in API level 35
fun toString(): String

Returns a string representation of the object.

Return
String a string representation of the object.

writeToParcel

Added in API level 35
fun writeToParcel(
    dest: Parcel,
    flags: Int
): Unit

Flatten this object in to a Parcel.

Parameters
dest Parcel: This value cannot be null.
flags Int: Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE.
Value is either 0 or a combination of the following:

Properties

CREATOR

static val CREATOR: Parcelable.Creator<DiscoveryRequest!>