diff options
Diffstat (limited to 'src/com/android/nfc')
-rwxr-xr-x | src/com/android/nfc/NfcService.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/com/android/nfc/NfcService.java b/src/com/android/nfc/NfcService.java index 9e4e21b..7b3c456 100755 --- a/src/com/android/nfc/NfcService.java +++ b/src/com/android/nfc/NfcService.java @@ -554,6 +554,14 @@ public class NfcService extends Application implements DeviceHostListener { mP2pLinkManager.enableDisable(false, false); + synchronized (NfcService.this) { + if (mOpenEe != null) { + try { + _nfcEeClose(-1, mOpenEe.binder); + } catch (IOException e) { } + } + } + // Stop watchdog if tag present // A convenient way to stop the watchdog properly consists of // disconnecting the tag. The polling loop shall be stopped before @@ -1178,7 +1186,7 @@ public class NfcService extends Application implements DeviceHostListener { // operations. However this is not supported by current hardware. synchronized (NfcService.this) { - if (!isNfcEnabled()) { + if (!isNfcEnabledOrShuttingDown()) { throw new IOException("NFC adapter is disabled"); } if (mOpenEe == null) { |