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