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