Deactivate NVC connection to NFC Tag type 4 before closing to avoid app crash (Known Issue)
hamishwillee
(Talk | contribs) m (Hamishwillee - Subedit) |
mahbub_s60
(Talk | contribs) (Mahbub s60 -) |
||
| Line 29: | Line 29: | ||
When an NFC tag is lost/separated from the device a handler should be called to close the connection. Due to a bug in the NFC implementation on Symbian Belle, we need to first deactivate the connection before closing it, or the application will panic. | When an NFC tag is lost/separated from the device a handler should be called to close the connection. Due to a bug in the NFC implementation on Symbian Belle, we need to first deactivate the connection before closing it, or the application will panic. | ||
| − | The bug is fixed in the mainline and should appear in firmware | + | The bug is fixed in the mainline and should appear in firmware in future released. |
== How to produce the bug == | == How to produce the bug == | ||
Revision as of 12:05, 20 February 2012
This article provides a workaround to avoid application crashes when closing the connection to an NFC Tag Type 4 on Symbian Belle.
Article Metadata
Tested with
Devices(s): Nokia C7 (firmware FW 022.013 and FW022.014)
Article
Created: mahbub_s60
(06 Feb 2012)
Last edited: mahbub_s60
(20 Feb 2012)
Contents |
Introduction
When an NFC tag is lost/separated from the device a handler should be called to close the connection. Due to a bug in the NFC implementation on Symbian Belle, we need to first deactivate the connection before closing it, or the application will panic.
The bug is fixed in the mainline and should appear in firmware in future released.
How to produce the bug
- Implement your code to handle the tag lost event as below. Note that this is the correct way to handle the event:
-
void CNfcHandler::TagLost()
{
iTag->CloseConnection(*iIso14443Connection);
delete iIso14443Connection;
iIso14443Connection = 0;
}
-
- Run the application
- Touch an NFC tag type 4 to the device (for example, a Nokia C7) and then remove it
The NFC app is closed due to a panic (Symbian unexpected exception).
Workaround
The following code can be used to workaround this crash on Symbian Belle:
void CNfcHandler::TagLost()
{
if(iIso14443Connection->IsActivated()) {
iIso14443Connection->Deactivate();
}
iTag->CloseConnection(*iIso14443Connection);
delete iIso14443Connection;
iIso14443Connection = 0;
}
Device SW used to test
Use C7 with FW 022.013 and FW022.014

