This will cause the OS to show UI that allows the user to pick
another application that could potentially handle the transaction.
Also, tweak processCommandApdu() method to take a Bundle to be more
future-proof.
Bug: 10262585
Change-Id: If9d060341b472fac0349f539c04b87e85fe79dfb
- New INfcCardEmulation interface to allow apps to interface
with card emulation system.
- New BIND_NFC_SERVICE permission to prevent malicious apps
from binding to card emulation services.
- ApduServiceInfo is now in the framework.
- Added constants to Settings.Secure for storing defaults.
- Modified XML grammar a bit.
Change-Id: I56b3fa6b42eb5dc132c91c1386ab1e6bac779059
AIDs can now carry a category attribute. Clarified that
"OffHostApduService" is not bound to by Android, and may
be extended by offering service interfaces that are not
defined in the platform.
Change-Id: Idd0a3990beb927e8d81366013f53386fb46e3f9f
HostApduService: convenience service class for implementing
a service that registers a set of ISO7816-4 AIDs and emulates
the corresponding application inside the service itself.
SeApduService: convenience service class for implementing
a service that registers a set of ISO7816-4 AIDs that reflect
applications installed on an embedded secure element or UICC. Contains
event hooks to allow the service to handle eSE/UICC events that
correspond to those AIDs.
Change-Id: I44191bd4abcbbe4f1fd36a9fd42639fe5c0cf496
Hidden for now. Also, modified callback that is called
from NfcService to pass all data in a single object
(BeamShareData). This avoids having to do multiple IPCs
at touch time.
Bug: 5134061
Change-Id: I235f608cef9935041b33b4b7a6980f109c15576c
The NfcService now contains additional code to make sure
that the registered NDEF callback corresponds to the package
running in the foreground. This allows us to stop calling
the NfcService on every onPause() to register the NDEF callback,
as NfcService itself will now detect that the app is no longer
in the foreground, and won't call the callback.
Bug: 5199662
Change-Id: Ibd0d21f8c7b76346238305a6684967263cb7d7e0
Indicate that if the device does not support Bluetooth or WiFI,
calling the API is a no-op.
Bug: 6620788
Change-Id: Ib261e0e7855d0914e97803b3b808015b72f3a186
NFC was not disabled/deinitialized when phone shutdown. This patch
add NFC disable on phone shutdown which can complete any pending
NFC transaction before phone shutdown.
Change-Id: Id1e604be7c34adec8623a1e526d8ff99e18bf74b
The current NFC stack formats tags to the INITIALIZED state
as defined by NFC forum; in that state the tag has the
NDEF Capability Container, but does not contain any message
yet.
Tags in that state (correctly) return the NDEF technology,
but the documentation does not specify that the message
may be null.
Also, get rid of buggy getLastErrorCode and use
(cached) presence check value to determine if tag was
lost during read.
Change-Id: If4293428093024ba9cda5dd7c9979b8b06353234
Fragments don't work as desired if called after life-cycle events
such as onDestory() or onSaveInstanceState().
The new approach doesn't work after onDestroy() either, but we can more
easily detect this now. For pre-JB apps, we will log an error, and for
JB and onwards we will throw.
Update documentation to make these rules clear, and to encourage
the use of a single Activity per API call, and to make the call
in onCreate().
Bug: 5199662
Bug: 5994691
Bug: 6034901
Bug: 6125297
Change-Id: Ib0dde6abfa44cd56c7ddc13ba0ad0e83bbe30058
Remove NdefMessage from dispatch(). It's already in the Tag.
/*package*/ cleanup
Fix sitemap after removal of NFCDemo
Change-Id: Ie1f6d9ea98144aa97f56bb709a33f5d0ef916e8b
o Add NdefRecord.toMimeType()
Maps the record to a MIME type
o Add NdefRecord.toUri()
Maps the record to a URI
o Add hidden NfcAdapter.dispatch()
Helps test the dispatch path.
o Modify createMime(), createUri() and createExternal():
Do not try and strictly follow RFC requirements for URI or MIME content
types. This just leads to heartbreak - the RFC requirements are too strict.
For example RFC1341 forbids the use of '.' in a MIME type, however this is in
common use in types such as "application/vnd.companyname". I think the best
approach is to only remove 'obvious' whitespace issues, and to convert
uppercase to lowercase as per Android guidelines.
Change-Id: Id686f5f3b05b2dceafad48e1cfcbdb2b3890b854