1// Signature format: 2.0 2package android.nfc { 3 4 public final class AvailableNfcAntenna implements android.os.Parcelable { 5 ctor public AvailableNfcAntenna(int, int); 6 method public int describeContents(); 7 method public int getLocationX(); 8 method public int getLocationY(); 9 method public void writeToParcel(@NonNull android.os.Parcel, int); 10 field @NonNull public static final android.os.Parcelable.Creator<android.nfc.AvailableNfcAntenna> CREATOR; 11 } 12 13 public class FormatException extends java.lang.Exception { 14 ctor public FormatException(); 15 ctor public FormatException(String); 16 ctor public FormatException(String, Throwable); 17 } 18 19 public final class NdefMessage implements android.os.Parcelable { 20 ctor public NdefMessage(byte[]) throws android.nfc.FormatException; 21 ctor public NdefMessage(android.nfc.NdefRecord, android.nfc.NdefRecord...); 22 ctor public NdefMessage(android.nfc.NdefRecord[]); 23 method public int describeContents(); 24 method public int getByteArrayLength(); 25 method public android.nfc.NdefRecord[] getRecords(); 26 method public byte[] toByteArray(); 27 method public void writeToParcel(android.os.Parcel, int); 28 field @NonNull public static final android.os.Parcelable.Creator<android.nfc.NdefMessage> CREATOR; 29 } 30 31 public final class NdefRecord implements android.os.Parcelable { 32 ctor public NdefRecord(short, byte[], byte[], byte[]); 33 ctor @Deprecated public NdefRecord(byte[]) throws android.nfc.FormatException; 34 method public static android.nfc.NdefRecord createApplicationRecord(String); 35 method public static android.nfc.NdefRecord createExternal(String, String, byte[]); 36 method public static android.nfc.NdefRecord createMime(String, byte[]); 37 method public static android.nfc.NdefRecord createTextRecord(String, String); 38 method public static android.nfc.NdefRecord createUri(android.net.Uri); 39 method public static android.nfc.NdefRecord createUri(String); 40 method public int describeContents(); 41 method public byte[] getId(); 42 method public byte[] getPayload(); 43 method public short getTnf(); 44 method public byte[] getType(); 45 method @Deprecated public byte[] toByteArray(); 46 method public String toMimeType(); 47 method public android.net.Uri toUri(); 48 method public void writeToParcel(android.os.Parcel, int); 49 field @NonNull public static final android.os.Parcelable.Creator<android.nfc.NdefRecord> CREATOR; 50 field public static final byte[] RTD_ALTERNATIVE_CARRIER; 51 field public static final byte[] RTD_HANDOVER_CARRIER; 52 field public static final byte[] RTD_HANDOVER_REQUEST; 53 field public static final byte[] RTD_HANDOVER_SELECT; 54 field public static final byte[] RTD_SMART_POSTER; 55 field public static final byte[] RTD_TEXT; 56 field public static final byte[] RTD_URI; 57 field public static final short TNF_ABSOLUTE_URI = 3; // 0x3 58 field public static final short TNF_EMPTY = 0; // 0x0 59 field public static final short TNF_EXTERNAL_TYPE = 4; // 0x4 60 field public static final short TNF_MIME_MEDIA = 2; // 0x2 61 field public static final short TNF_UNCHANGED = 6; // 0x6 62 field public static final short TNF_UNKNOWN = 5; // 0x5 63 field public static final short TNF_WELL_KNOWN = 1; // 0x1 64 } 65 66 public final class NfcAdapter { 67 method @FlaggedApi("android.nfc.nfc_state_change") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disable(); 68 method public void disableForegroundDispatch(android.app.Activity); 69 method public void disableReaderMode(android.app.Activity); 70 method @FlaggedApi("android.nfc.nfc_state_change") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enable(); 71 method public void enableForegroundDispatch(android.app.Activity, android.app.PendingIntent, android.content.IntentFilter[], String[][]); 72 method public void enableReaderMode(android.app.Activity, android.nfc.NfcAdapter.ReaderCallback, int, android.os.Bundle); 73 method public static android.nfc.NfcAdapter getDefaultAdapter(android.content.Context); 74 method @Nullable public android.nfc.NfcAntennaInfo getNfcAntennaInfo(); 75 method @FlaggedApi("android.nfc.enable_nfc_charging") @Nullable public android.nfc.WlcListenerDeviceInfo getWlcListenerDeviceInfo(); 76 method public boolean ignore(android.nfc.Tag, int, android.nfc.NfcAdapter.OnTagRemovedListener, android.os.Handler); 77 method public boolean isEnabled(); 78 method @FlaggedApi("android.nfc.nfc_observe_mode") public boolean isObserveModeEnabled(); 79 method @FlaggedApi("android.nfc.nfc_observe_mode") public boolean isObserveModeSupported(); 80 method @FlaggedApi("android.nfc.enable_nfc_reader_option") public boolean isReaderOptionEnabled(); 81 method @FlaggedApi("android.nfc.enable_nfc_reader_option") public boolean isReaderOptionSupported(); 82 method public boolean isSecureNfcEnabled(); 83 method public boolean isSecureNfcSupported(); 84 method @FlaggedApi("android.nfc.nfc_check_tag_intent_preference") public boolean isTagIntentAllowed(); 85 method @FlaggedApi("android.nfc.nfc_check_tag_intent_preference") public boolean isTagIntentAppPreferenceSupported(); 86 method @FlaggedApi("android.nfc.enable_nfc_charging") public boolean isWlcEnabled(); 87 method @FlaggedApi("android.nfc.enable_nfc_set_discovery_tech") public void resetDiscoveryTechnology(@NonNull android.app.Activity); 88 method @FlaggedApi("android.nfc.enable_nfc_set_discovery_tech") public void setDiscoveryTechnology(@NonNull android.app.Activity, int, int); 89 method @FlaggedApi("android.nfc.nfc_observe_mode") public boolean setObserveModeEnabled(boolean); 90 field public static final String ACTION_ADAPTER_STATE_CHANGED = "android.nfc.action.ADAPTER_STATE_CHANGED"; 91 field @FlaggedApi("android.nfc.nfc_check_tag_intent_preference") public static final String ACTION_CHANGE_TAG_INTENT_PREFERENCE = "android.nfc.action.CHANGE_TAG_INTENT_PREFERENCE"; 92 field public static final String ACTION_NDEF_DISCOVERED = "android.nfc.action.NDEF_DISCOVERED"; 93 field @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) public static final String ACTION_PREFERRED_PAYMENT_CHANGED = "android.nfc.action.PREFERRED_PAYMENT_CHANGED"; 94 field public static final String ACTION_TAG_DISCOVERED = "android.nfc.action.TAG_DISCOVERED"; 95 field public static final String ACTION_TECH_DISCOVERED = "android.nfc.action.TECH_DISCOVERED"; 96 field @RequiresPermission(android.Manifest.permission.NFC_TRANSACTION_EVENT) public static final String ACTION_TRANSACTION_DETECTED = "android.nfc.action.TRANSACTION_DETECTED"; 97 field public static final String EXTRA_ADAPTER_STATE = "android.nfc.extra.ADAPTER_STATE"; 98 field public static final String EXTRA_AID = "android.nfc.extra.AID"; 99 field public static final String EXTRA_DATA = "android.nfc.extra.DATA"; 100 field public static final String EXTRA_ID = "android.nfc.extra.ID"; 101 field public static final String EXTRA_NDEF_MESSAGES = "android.nfc.extra.NDEF_MESSAGES"; 102 field public static final String EXTRA_PREFERRED_PAYMENT_CHANGED_REASON = "android.nfc.extra.PREFERRED_PAYMENT_CHANGED_REASON"; 103 field public static final String EXTRA_READER_PRESENCE_CHECK_DELAY = "presence"; 104 field public static final String EXTRA_SECURE_ELEMENT_NAME = "android.nfc.extra.SECURE_ELEMENT_NAME"; 105 field public static final String EXTRA_TAG = "android.nfc.extra.TAG"; 106 field @FlaggedApi("android.nfc.enable_nfc_set_discovery_tech") public static final int FLAG_LISTEN_DISABLE = 0; // 0x0 107 field @FlaggedApi("android.nfc.enable_nfc_set_discovery_tech") public static final int FLAG_LISTEN_KEEP = -2147483648; // 0x80000000 108 field @FlaggedApi("android.nfc.enable_nfc_set_discovery_tech") public static final int FLAG_LISTEN_NFC_PASSIVE_A = 1; // 0x1 109 field @FlaggedApi("android.nfc.enable_nfc_set_discovery_tech") public static final int FLAG_LISTEN_NFC_PASSIVE_B = 2; // 0x2 110 field @FlaggedApi("android.nfc.enable_nfc_set_discovery_tech") public static final int FLAG_LISTEN_NFC_PASSIVE_F = 4; // 0x4 111 field @FlaggedApi("android.nfc.enable_nfc_set_discovery_tech") public static final int FLAG_READER_DISABLE = 0; // 0x0 112 field @FlaggedApi("android.nfc.enable_nfc_set_discovery_tech") public static final int FLAG_READER_KEEP = -2147483648; // 0x80000000 113 field public static final int FLAG_READER_NFC_A = 1; // 0x1 114 field public static final int FLAG_READER_NFC_B = 2; // 0x2 115 field public static final int FLAG_READER_NFC_BARCODE = 16; // 0x10 116 field public static final int FLAG_READER_NFC_F = 4; // 0x4 117 field public static final int FLAG_READER_NFC_V = 8; // 0x8 118 field public static final int FLAG_READER_NO_PLATFORM_SOUNDS = 256; // 0x100 119 field public static final int FLAG_READER_SKIP_NDEF_CHECK = 128; // 0x80 120 field public static final int PREFERRED_PAYMENT_CHANGED = 2; // 0x2 121 field public static final int PREFERRED_PAYMENT_LOADED = 1; // 0x1 122 field public static final int PREFERRED_PAYMENT_UPDATED = 3; // 0x3 123 field public static final int STATE_OFF = 1; // 0x1 124 field public static final int STATE_ON = 3; // 0x3 125 field public static final int STATE_TURNING_OFF = 4; // 0x4 126 field public static final int STATE_TURNING_ON = 2; // 0x2 127 } 128 129 @Deprecated public static interface NfcAdapter.CreateBeamUrisCallback { 130 method @Deprecated public android.net.Uri[] createBeamUris(android.nfc.NfcEvent); 131 } 132 133 @Deprecated public static interface NfcAdapter.CreateNdefMessageCallback { 134 method @Deprecated public android.nfc.NdefMessage createNdefMessage(android.nfc.NfcEvent); 135 } 136 137 @Deprecated public static interface NfcAdapter.OnNdefPushCompleteCallback { 138 method @Deprecated public void onNdefPushComplete(android.nfc.NfcEvent); 139 } 140 141 public static interface NfcAdapter.OnTagRemovedListener { 142 method public void onTagRemoved(); 143 } 144 145 public static interface NfcAdapter.ReaderCallback { 146 method public void onTagDiscovered(android.nfc.Tag); 147 } 148 149 public final class NfcAntennaInfo implements android.os.Parcelable { 150 ctor public NfcAntennaInfo(int, int, boolean, @NonNull java.util.List<android.nfc.AvailableNfcAntenna>); 151 method public int describeContents(); 152 method @NonNull public java.util.List<android.nfc.AvailableNfcAntenna> getAvailableNfcAntennas(); 153 method public int getDeviceHeight(); 154 method public int getDeviceWidth(); 155 method public boolean isDeviceFoldable(); 156 method public void writeToParcel(@NonNull android.os.Parcel, int); 157 field @NonNull public static final android.os.Parcelable.Creator<android.nfc.NfcAntennaInfo> CREATOR; 158 } 159 160 public final class NfcEvent { 161 field public final android.nfc.NfcAdapter nfcAdapter; 162 field public final int peerLlcpMajorVersion; 163 field public final int peerLlcpMinorVersion; 164 } 165 166 public final class NfcManager { 167 method public android.nfc.NfcAdapter getDefaultAdapter(); 168 } 169 170 public final class Tag implements android.os.Parcelable { 171 method public int describeContents(); 172 method public byte[] getId(); 173 method public String[] getTechList(); 174 method public void writeToParcel(android.os.Parcel, int); 175 field @NonNull public static final android.os.Parcelable.Creator<android.nfc.Tag> CREATOR; 176 } 177 178 public class TagLostException extends java.io.IOException { 179 ctor public TagLostException(); 180 ctor public TagLostException(String); 181 } 182 183 @FlaggedApi("android.nfc.enable_nfc_charging") public final class WlcListenerDeviceInfo implements android.os.Parcelable { 184 ctor public WlcListenerDeviceInfo(int, double, double, int); 185 method public int describeContents(); 186 method @FloatRange(from=0.0, to=100.0) public double getBatteryLevel(); 187 method public int getProductId(); 188 method public int getState(); 189 method public double getTemperature(); 190 method public void writeToParcel(@NonNull android.os.Parcel, int); 191 field @NonNull public static final android.os.Parcelable.Creator<android.nfc.WlcListenerDeviceInfo> CREATOR; 192 field public static final int STATE_CONNECTED_CHARGING = 2; // 0x2 193 field public static final int STATE_CONNECTED_DISCHARGING = 3; // 0x3 194 field public static final int STATE_DISCONNECTED = 1; // 0x1 195 } 196 197} 198 199package android.nfc.cardemulation { 200 201 public final class CardEmulation { 202 method public boolean categoryAllowsForegroundPreference(String); 203 method @Nullable @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) public java.util.List<java.lang.String> getAidsForPreferredPaymentService(); 204 method public java.util.List<java.lang.String> getAidsForService(android.content.ComponentName, String); 205 method @FlaggedApi("android.nfc.enable_card_emulation_euicc") public int getDefaultNfcSubscriptionId(); 206 method @Nullable @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) public CharSequence getDescriptionForPreferredPaymentService(); 207 method public static android.nfc.cardemulation.CardEmulation getInstance(android.nfc.NfcAdapter); 208 method @Nullable @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) public String getRouteDestinationForPreferredPaymentService(); 209 method public int getSelectionModeForCategory(String); 210 method public boolean isDefaultServiceForAid(android.content.ComponentName, String); 211 method public boolean isDefaultServiceForCategory(android.content.ComponentName, String); 212 method @FlaggedApi("android.nfc.enable_card_emulation_euicc") public boolean isEuiccSupported(); 213 method public boolean registerAidsForService(android.content.ComponentName, String, java.util.List<java.lang.String>); 214 method @FlaggedApi("android.nfc.nfc_event_listener") public void registerNfcEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.nfc.cardemulation.CardEmulation.NfcEventListener); 215 method @FlaggedApi("android.nfc.nfc_read_polling_loop") public boolean registerPollingLoopFilterForService(@NonNull android.content.ComponentName, @NonNull String, boolean); 216 method @FlaggedApi("android.nfc.nfc_read_polling_loop") public boolean registerPollingLoopPatternFilterForService(@NonNull android.content.ComponentName, @NonNull String, boolean); 217 method public boolean removeAidsForService(android.content.ComponentName, String); 218 method @FlaggedApi("android.nfc.nfc_read_polling_loop") public boolean removePollingLoopFilterForService(@NonNull android.content.ComponentName, @NonNull String); 219 method @FlaggedApi("android.nfc.nfc_read_polling_loop") public boolean removePollingLoopPatternFilterForService(@NonNull android.content.ComponentName, @NonNull String); 220 method @NonNull @RequiresPermission(android.Manifest.permission.NFC) public boolean setOffHostForService(@NonNull android.content.ComponentName, @NonNull String); 221 method public boolean setPreferredService(android.app.Activity, android.content.ComponentName); 222 method @FlaggedApi("android.nfc.nfc_observe_mode") public boolean setShouldDefaultToObserveModeForService(@NonNull android.content.ComponentName, boolean); 223 method public boolean supportsAidPrefixRegistration(); 224 method @FlaggedApi("android.nfc.nfc_event_listener") public void unregisterNfcEventListener(@NonNull android.nfc.cardemulation.CardEmulation.NfcEventListener); 225 method @NonNull @RequiresPermission(android.Manifest.permission.NFC) public boolean unsetOffHostForService(@NonNull android.content.ComponentName); 226 method public boolean unsetPreferredService(android.app.Activity); 227 field @Deprecated public static final String ACTION_CHANGE_DEFAULT = "android.nfc.cardemulation.action.ACTION_CHANGE_DEFAULT"; 228 field public static final String CATEGORY_OTHER = "other"; 229 field public static final String CATEGORY_PAYMENT = "payment"; 230 field public static final String EXTRA_CATEGORY = "category"; 231 field public static final String EXTRA_SERVICE_COMPONENT = "component"; 232 field @FlaggedApi("android.nfc.nfc_event_listener") public static final int NFC_INTERNAL_ERROR_COMMAND_TIMEOUT = 3; // 0x3 233 field @FlaggedApi("android.nfc.nfc_event_listener") public static final int NFC_INTERNAL_ERROR_NFC_CRASH_RESTART = 1; // 0x1 234 field @FlaggedApi("android.nfc.nfc_event_listener") public static final int NFC_INTERNAL_ERROR_NFC_HARDWARE_ERROR = 2; // 0x2 235 field @FlaggedApi("android.nfc.nfc_event_listener") public static final int NFC_INTERNAL_ERROR_UNKNOWN = 0; // 0x0 236 field @FlaggedApi("android.nfc.nfc_associated_role_services") public static final String PROPERTY_ALLOW_SHARED_ROLE_PRIORITY = "android.nfc.cardemulation.PROPERTY_ALLOW_SHARED_ROLE_PRIORITY"; 237 field @FlaggedApi("android.nfc.nfc_override_recover_routing_table") public static final int PROTOCOL_AND_TECHNOLOGY_ROUTE_DEFAULT = 3; // 0x3 238 field @FlaggedApi("android.nfc.nfc_override_recover_routing_table") public static final int PROTOCOL_AND_TECHNOLOGY_ROUTE_DH = 0; // 0x0 239 field @FlaggedApi("android.nfc.nfc_override_recover_routing_table") public static final int PROTOCOL_AND_TECHNOLOGY_ROUTE_ESE = 1; // 0x1 240 field @FlaggedApi("android.nfc.nfc_override_recover_routing_table") public static final int PROTOCOL_AND_TECHNOLOGY_ROUTE_UICC = 2; // 0x2 241 field @FlaggedApi("android.nfc.nfc_override_recover_routing_table") public static final int PROTOCOL_AND_TECHNOLOGY_ROUTE_UNSET = -1; // 0xffffffff 242 field public static final int SELECTION_MODE_ALWAYS_ASK = 1; // 0x1 243 field public static final int SELECTION_MODE_ASK_IF_CONFLICT = 2; // 0x2 244 field public static final int SELECTION_MODE_PREFER_DEFAULT = 0; // 0x0 245 } 246 247 @FlaggedApi("android.nfc.nfc_event_listener") public static interface CardEmulation.NfcEventListener { 248 method @FlaggedApi("android.nfc.nfc_event_listener") public default void onAidConflictOccurred(@NonNull String); 249 method @FlaggedApi("android.nfc.nfc_event_listener") public default void onAidNotRouted(@NonNull String); 250 method @FlaggedApi("android.nfc.nfc_event_listener") public default void onInternalErrorReported(int); 251 method @FlaggedApi("android.nfc.nfc_event_listener") public default void onNfcStateChanged(int); 252 method @FlaggedApi("android.nfc.nfc_event_listener") public default void onObserveModeStateChanged(boolean); 253 method @FlaggedApi("android.nfc.nfc_event_listener") public default void onPreferredServiceChanged(boolean); 254 method @FlaggedApi("android.nfc.nfc_event_listener") public default void onRemoteFieldChanged(boolean); 255 } 256 257 public abstract class HostApduService extends android.app.Service { 258 ctor public HostApduService(); 259 method public final void notifyUnhandled(); 260 method public final android.os.IBinder onBind(android.content.Intent); 261 method public abstract void onDeactivated(int); 262 method public abstract byte[] processCommandApdu(byte[], android.os.Bundle); 263 method @FlaggedApi("android.nfc.nfc_read_polling_loop") public void processPollingFrames(@NonNull java.util.List<android.nfc.cardemulation.PollingFrame>); 264 method public final void sendResponseApdu(byte[]); 265 field public static final int DEACTIVATION_DESELECTED = 1; // 0x1 266 field public static final int DEACTIVATION_LINK_LOSS = 0; // 0x0 267 field public static final String SERVICE_INTERFACE = "android.nfc.cardemulation.action.HOST_APDU_SERVICE"; 268 field public static final String SERVICE_META_DATA = "android.nfc.cardemulation.host_apdu_service"; 269 } 270 271 public abstract class HostNfcFService extends android.app.Service { 272 ctor public HostNfcFService(); 273 method public final android.os.IBinder onBind(android.content.Intent); 274 method public abstract void onDeactivated(int); 275 method public abstract byte[] processNfcFPacket(byte[], android.os.Bundle); 276 method public final void sendResponsePacket(byte[]); 277 field public static final int DEACTIVATION_LINK_LOSS = 0; // 0x0 278 field public static final String SERVICE_INTERFACE = "android.nfc.cardemulation.action.HOST_NFCF_SERVICE"; 279 field public static final String SERVICE_META_DATA = "android.nfc.cardemulation.host_nfcf_service"; 280 } 281 282 public final class NfcFCardEmulation { 283 method public boolean disableService(android.app.Activity) throws java.lang.RuntimeException; 284 method public boolean enableService(android.app.Activity, android.content.ComponentName) throws java.lang.RuntimeException; 285 method public static android.nfc.cardemulation.NfcFCardEmulation getInstance(android.nfc.NfcAdapter); 286 method public String getNfcid2ForService(android.content.ComponentName) throws java.lang.RuntimeException; 287 method public String getSystemCodeForService(android.content.ComponentName) throws java.lang.RuntimeException; 288 method public boolean registerSystemCodeForService(android.content.ComponentName, String) throws java.lang.RuntimeException; 289 method public boolean setNfcid2ForService(android.content.ComponentName, String) throws java.lang.RuntimeException; 290 method public boolean unregisterSystemCodeForService(android.content.ComponentName) throws java.lang.RuntimeException; 291 } 292 293 public abstract class OffHostApduService extends android.app.Service { 294 ctor public OffHostApduService(); 295 field public static final String SERVICE_INTERFACE = "android.nfc.cardemulation.action.OFF_HOST_APDU_SERVICE"; 296 field public static final String SERVICE_META_DATA = "android.nfc.cardemulation.off_host_apdu_service"; 297 } 298 299 @FlaggedApi("android.nfc.nfc_read_polling_loop") public final class PollingFrame implements android.os.Parcelable { 300 method public int describeContents(); 301 method @NonNull public byte[] getData(); 302 method public long getTimestamp(); 303 method public boolean getTriggeredAutoTransact(); 304 method public int getType(); 305 method public int getVendorSpecificGain(); 306 method public void writeToParcel(@NonNull android.os.Parcel, int); 307 field @NonNull public static final android.os.Parcelable.Creator<android.nfc.cardemulation.PollingFrame> CREATOR; 308 field @FlaggedApi("android.nfc.nfc_read_polling_loop") public static final int POLLING_LOOP_TYPE_A = 65; // 0x41 309 field @FlaggedApi("android.nfc.nfc_read_polling_loop") public static final int POLLING_LOOP_TYPE_B = 66; // 0x42 310 field @FlaggedApi("android.nfc.nfc_read_polling_loop") public static final int POLLING_LOOP_TYPE_F = 70; // 0x46 311 field @FlaggedApi("android.nfc.nfc_read_polling_loop") public static final int POLLING_LOOP_TYPE_OFF = 88; // 0x58 312 field @FlaggedApi("android.nfc.nfc_read_polling_loop") public static final int POLLING_LOOP_TYPE_ON = 79; // 0x4f 313 field @FlaggedApi("android.nfc.nfc_read_polling_loop") public static final int POLLING_LOOP_TYPE_UNKNOWN = 85; // 0x55 314 } 315 316} 317 318package android.nfc.tech { 319 320 public final class IsoDep implements android.nfc.tech.TagTechnology { 321 method public void close() throws java.io.IOException; 322 method public void connect() throws java.io.IOException; 323 method public static android.nfc.tech.IsoDep get(android.nfc.Tag); 324 method public byte[] getHiLayerResponse(); 325 method public byte[] getHistoricalBytes(); 326 method public int getMaxTransceiveLength(); 327 method public android.nfc.Tag getTag(); 328 method public int getTimeout(); 329 method public boolean isConnected(); 330 method public boolean isExtendedLengthApduSupported(); 331 method public void setTimeout(int); 332 method public byte[] transceive(byte[]) throws java.io.IOException; 333 } 334 335 public final class MifareClassic implements android.nfc.tech.TagTechnology { 336 method public boolean authenticateSectorWithKeyA(int, byte[]) throws java.io.IOException; 337 method public boolean authenticateSectorWithKeyB(int, byte[]) throws java.io.IOException; 338 method public int blockToSector(int); 339 method public void close() throws java.io.IOException; 340 method public void connect() throws java.io.IOException; 341 method public void decrement(int, int) throws java.io.IOException; 342 method public static android.nfc.tech.MifareClassic get(android.nfc.Tag); 343 method public int getBlockCount(); 344 method public int getBlockCountInSector(int); 345 method public int getMaxTransceiveLength(); 346 method public int getSectorCount(); 347 method public int getSize(); 348 method public android.nfc.Tag getTag(); 349 method public int getTimeout(); 350 method public int getType(); 351 method public void increment(int, int) throws java.io.IOException; 352 method public boolean isConnected(); 353 method public byte[] readBlock(int) throws java.io.IOException; 354 method public void restore(int) throws java.io.IOException; 355 method public int sectorToBlock(int); 356 method public void setTimeout(int); 357 method public byte[] transceive(byte[]) throws java.io.IOException; 358 method public void transfer(int) throws java.io.IOException; 359 method public void writeBlock(int, byte[]) throws java.io.IOException; 360 field public static final int BLOCK_SIZE = 16; // 0x10 361 field public static final byte[] KEY_DEFAULT; 362 field public static final byte[] KEY_MIFARE_APPLICATION_DIRECTORY; 363 field public static final byte[] KEY_NFC_FORUM; 364 field public static final int SIZE_1K = 1024; // 0x400 365 field public static final int SIZE_2K = 2048; // 0x800 366 field public static final int SIZE_4K = 4096; // 0x1000 367 field public static final int SIZE_MINI = 320; // 0x140 368 field public static final int TYPE_CLASSIC = 0; // 0x0 369 field public static final int TYPE_PLUS = 1; // 0x1 370 field public static final int TYPE_PRO = 2; // 0x2 371 field public static final int TYPE_UNKNOWN = -1; // 0xffffffff 372 } 373 374 public final class MifareUltralight implements android.nfc.tech.TagTechnology { 375 method public void close() throws java.io.IOException; 376 method public void connect() throws java.io.IOException; 377 method public static android.nfc.tech.MifareUltralight get(android.nfc.Tag); 378 method public int getMaxTransceiveLength(); 379 method public android.nfc.Tag getTag(); 380 method public int getTimeout(); 381 method public int getType(); 382 method public boolean isConnected(); 383 method public byte[] readPages(int) throws java.io.IOException; 384 method public void setTimeout(int); 385 method public byte[] transceive(byte[]) throws java.io.IOException; 386 method public void writePage(int, byte[]) throws java.io.IOException; 387 field public static final int PAGE_SIZE = 4; // 0x4 388 field public static final int TYPE_ULTRALIGHT = 1; // 0x1 389 field public static final int TYPE_ULTRALIGHT_C = 2; // 0x2 390 field public static final int TYPE_UNKNOWN = -1; // 0xffffffff 391 } 392 393 public final class Ndef implements android.nfc.tech.TagTechnology { 394 method public boolean canMakeReadOnly(); 395 method public void close() throws java.io.IOException; 396 method public void connect() throws java.io.IOException; 397 method public static android.nfc.tech.Ndef get(android.nfc.Tag); 398 method public android.nfc.NdefMessage getCachedNdefMessage(); 399 method public int getMaxSize(); 400 method public android.nfc.NdefMessage getNdefMessage() throws android.nfc.FormatException, java.io.IOException; 401 method public android.nfc.Tag getTag(); 402 method public String getType(); 403 method public boolean isConnected(); 404 method public boolean isWritable(); 405 method public boolean makeReadOnly() throws java.io.IOException; 406 method public void writeNdefMessage(android.nfc.NdefMessage) throws android.nfc.FormatException, java.io.IOException; 407 field public static final String MIFARE_CLASSIC = "com.nxp.ndef.mifareclassic"; 408 field public static final String NFC_FORUM_TYPE_1 = "org.nfcforum.ndef.type1"; 409 field public static final String NFC_FORUM_TYPE_2 = "org.nfcforum.ndef.type2"; 410 field public static final String NFC_FORUM_TYPE_3 = "org.nfcforum.ndef.type3"; 411 field public static final String NFC_FORUM_TYPE_4 = "org.nfcforum.ndef.type4"; 412 } 413 414 public final class NdefFormatable implements android.nfc.tech.TagTechnology { 415 method public void close() throws java.io.IOException; 416 method public void connect() throws java.io.IOException; 417 method public void format(android.nfc.NdefMessage) throws android.nfc.FormatException, java.io.IOException; 418 method public void formatReadOnly(android.nfc.NdefMessage) throws android.nfc.FormatException, java.io.IOException; 419 method public static android.nfc.tech.NdefFormatable get(android.nfc.Tag); 420 method public android.nfc.Tag getTag(); 421 method public boolean isConnected(); 422 } 423 424 public final class NfcA implements android.nfc.tech.TagTechnology { 425 method public void close() throws java.io.IOException; 426 method public void connect() throws java.io.IOException; 427 method public static android.nfc.tech.NfcA get(android.nfc.Tag); 428 method public byte[] getAtqa(); 429 method public int getMaxTransceiveLength(); 430 method public short getSak(); 431 method public android.nfc.Tag getTag(); 432 method public int getTimeout(); 433 method public boolean isConnected(); 434 method public void setTimeout(int); 435 method public byte[] transceive(byte[]) throws java.io.IOException; 436 } 437 438 public final class NfcB implements android.nfc.tech.TagTechnology { 439 method public void close() throws java.io.IOException; 440 method public void connect() throws java.io.IOException; 441 method public static android.nfc.tech.NfcB get(android.nfc.Tag); 442 method public byte[] getApplicationData(); 443 method public int getMaxTransceiveLength(); 444 method public byte[] getProtocolInfo(); 445 method public android.nfc.Tag getTag(); 446 method public boolean isConnected(); 447 method public byte[] transceive(byte[]) throws java.io.IOException; 448 } 449 450 public final class NfcBarcode implements android.nfc.tech.TagTechnology { 451 method public void close() throws java.io.IOException; 452 method public void connect() throws java.io.IOException; 453 method public static android.nfc.tech.NfcBarcode get(android.nfc.Tag); 454 method public byte[] getBarcode(); 455 method public android.nfc.Tag getTag(); 456 method public int getType(); 457 method public boolean isConnected(); 458 field public static final int TYPE_KOVIO = 1; // 0x1 459 field public static final int TYPE_UNKNOWN = -1; // 0xffffffff 460 } 461 462 public final class NfcF implements android.nfc.tech.TagTechnology { 463 method public void close() throws java.io.IOException; 464 method public void connect() throws java.io.IOException; 465 method public static android.nfc.tech.NfcF get(android.nfc.Tag); 466 method public byte[] getManufacturer(); 467 method public int getMaxTransceiveLength(); 468 method public byte[] getSystemCode(); 469 method public android.nfc.Tag getTag(); 470 method public int getTimeout(); 471 method public boolean isConnected(); 472 method public void setTimeout(int); 473 method public byte[] transceive(byte[]) throws java.io.IOException; 474 } 475 476 public final class NfcV implements android.nfc.tech.TagTechnology { 477 method public void close() throws java.io.IOException; 478 method public void connect() throws java.io.IOException; 479 method public static android.nfc.tech.NfcV get(android.nfc.Tag); 480 method public byte getDsfId(); 481 method public int getMaxTransceiveLength(); 482 method public byte getResponseFlags(); 483 method public android.nfc.Tag getTag(); 484 method public boolean isConnected(); 485 method public byte[] transceive(byte[]) throws java.io.IOException; 486 } 487 488 public interface TagTechnology extends java.io.Closeable { 489 method public void connect() throws java.io.IOException; 490 method public android.nfc.Tag getTag(); 491 method public boolean isConnected(); 492 } 493 494} 495 496