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