# Print output for @column tags ?>
Developers

- Design
- Develop
- Distribute

Developer Console

## Most visited

## Recently visited

## Results for

Summary: Methods | Inherited Methods

# NfcFCardEmulation

`public final class NfcFCardEmulation`
`extends Object` ``

java.lang.Object
↳ | android.nfc.cardemulation.NfcFCardEmulation

This class can be used to query the state of NFC-F card emulation services. For a general introduction into NFC card emulation, please read the NFC card emulation developer guide.

Use of this class requires the `PackageManager#FEATURE_NFC_HOST_CARD_EMULATION_NFCF` to be present on the device.

## Summary

### Public methods
`boolean` | `disableService(Activity activity)` Disables the service for the specified Activity.
`boolean` | `enableService(Activity activity, ComponentName service)` Allows a foreground application to specify which card emulation service should be enabled while a specific Activity is in the foreground.
`static NfcFCardEmulation` | `getInstance(NfcAdapter adapter)` Helper to get an instance of this class.
`String` | `getNfcid2ForService(ComponentName service)` Retrieves the current NFCID2 for the specified service.
`String` | `getSystemCodeForService(ComponentName service)` Retrieves the current System Code for the specified service.
`boolean` | `registerSystemCodeForService(ComponentName service, String systemCode)` Registers a System Code for the specified service.
`boolean` | `setNfcid2ForService(ComponentName service, String nfcid2)` Set a NFCID2 for the specified service.
`boolean` | `unregisterSystemCodeForService(ComponentName service)` Removes a registered System Code for the specified service.

### Inherited methods
From class `java.lang.Object`
`Object` | `clone()` Creates and returns a copy of this object.
`boolean` | `equals(Object obj)` Indicates whether some other object is "equal to" this one.
`void` | `finalize()` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
`final Class<?>` | `getClass()` Returns the runtime class of this `Object`.
`int` | `hashCode()` Returns a hash code value for the object.
`final void` | `notify()` Wakes up a single thread that is waiting on this object's monitor.
`final void` | `notifyAll()` Wakes up all threads that are waiting on this object's monitor.
`String` | `toString()` Returns a string representation of the object.
`final void` | `wait(long timeout, int nanos)` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.
`final void` | `wait(long timeout)` Causes the current thread to wait until either another thread invokes the `notify()` method or the `notifyAll()` method for this object, or a specified amount of time has elapsed.
`final void` | `wait()` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object.

## Public methods

### disableService

    public boolean disableService (Activity activity)

Disables the service for the specified Activity.

Note that the specified Activity must still be in resumed state at the time of this call. A good place to call this method is in your `Activity#onPause` implementation.

Parameters
`activity` | `Activity`: The activity which the service was registered for

Returns
`boolean` | true when successful

Throws
`RuntimeException` |

### enableService

    public boolean enableService (Activity activity,
                    ComponentName service)

Allows a foreground application to specify which card emulation service should be enabled while a specific Activity is in the foreground.

The specified HCE-F service is only enabled when the corresponding application is in the foreground and this method has been called. When the application is moved to the background, `disableService(android.app.Activity)` is called, or NFCID2 or System Code is replaced, the HCE-F service is disabled.

The specified Activity must currently be in resumed state. A good paradigm is to call this method in your `Activity#onResume`, and to call `disableService(android.app.Activity)` in your `Activity#onPause`.

Note that this preference is not persisted by the OS, and hence must be called every time the Activity is resumed.

Parameters
`activity` | `Activity`: The activity which prefers this service to be invoked
`service` | `ComponentName`: The service to be preferred while this activity is in the foreground

Returns
`boolean` | whether the registration was successful

Throws
`RuntimeException` |

### getInstance

    public static NfcFCardEmulation getInstance (NfcAdapter adapter)

Helper to get an instance of this class.

Parameters
`adapter` | `NfcAdapter`: A reference to an NfcAdapter object.

Returns
`NfcFCardEmulation` |

### getNfcid2ForService

    public String getNfcid2ForService (ComponentName service)

Retrieves the current NFCID2 for the specified service.

Before calling `setNfcid2ForService(android.content.ComponentName, java.lang.String)`, the NFCID2 contained in the Manifest file is returned. If "random" is specified in the Manifest file, a random number assigned by the system at installation time is returned. After setting an NFCID2 with `setNfcid2ForService(android.content.ComponentName, java.lang.String)`, this NFCID2 is returned.

Parameters
`service` | `ComponentName`: The component name of the service

Returns
`String` | the current NFCID2

Throws
`RuntimeException` |

### getSystemCodeForService

    public String getSystemCodeForService (ComponentName service)

Retrieves the current System Code for the specified service.

Before calling `registerSystemCodeForService(android.content.ComponentName, java.lang.String)`, the System Code contained in the Manifest file is returned. After calling `registerSystemCodeForService(android.content.ComponentName, java.lang.String)`, the System Code registered there is returned. After calling `unregisterSystemCodeForService(android.content.ComponentName)`, "null" is returned.

Parameters
`service` | `ComponentName`: The component name of the service

Returns
`String` | the current System Code

Throws
`RuntimeException` |

### registerSystemCodeForService

    public boolean registerSystemCodeForService (ComponentName service,
                    String systemCode)

Registers a System Code for the specified service.

The System Code must be in range from "4000" to "4FFF" (excluding "4*FF").

If a System Code was previously registered for this service (either statically through the manifest, or dynamically by using this API), it will be replaced with this one.

Even if the same System Code is already registered for another service, this method succeeds in registering the System Code.

Note that you can only register a System Code for a service that is running under the same UID as the caller of this API. Typically this means you need to call this from the same package as the service itself, though UIDs can also be shared between packages using shared UIDs.

Parameters
`service` | `ComponentName`: The component name of the service
`systemCode` | `String`: The System Code to be registered

Returns
`boolean` | whether the registration was successful.

Throws
`RuntimeException` |

### setNfcid2ForService

    public boolean setNfcid2ForService (ComponentName service,
                    String nfcid2)

Set a NFCID2 for the specified service.

The NFCID2 must be in range from "02FE000000000000" to "02FEFFFFFFFFFFFF".

If a NFCID2 was previously set for this service (either statically through the manifest, or dynamically by using this API), it will be replaced.

Note that you can only set the NFCID2 for a service that is running under the same UID as the caller of this API. Typically this means you need to call this from the same package as the service itself, though UIDs can also be shared between packages using shared UIDs.

Parameters
`service` | `ComponentName`: The component name of the service
`nfcid2` | `String`: The NFCID2 to be registered

Returns
`boolean` | whether the setting was successful.

Throws
`RuntimeException` |

### unregisterSystemCodeForService

    public boolean unregisterSystemCodeForService (ComponentName service)

Removes a registered System Code for the specified service.

Parameters
`service` | `ComponentName`: The component name of the service

Returns
`boolean` | whether the System Code was successfully removed.

Throws
`RuntimeException` |

Full name *
Email address *
Company / developer name
One of your Play Store app URLs *
Which best describes your business:*
Apps
Games
Apps & Games
*
*