2016-02-11 61 views
2

我目前正在對NFC閱讀應用程序,我遇到了這個問題:Android的NFC掃描錯誤回調

通常當我掃描標籤,我能聽到,在掃描和我的應用程序,標誌着成功的一個聲音檢測標籤。

但是有時候,如果我在每次掃描之間以很小的延遲掃描標籤,我會聽到不同的聲音,這可能表示掃描期間發生錯誤,並且我的應用程序未檢測到標籤。

經過短暫的延遲後,我可以成功掃描相同的標籤。

我想問一下,有沒有可能檢測到這種情況,並通知用戶等待並嘗試再次掃描標籤?

在此先感謝。

+0

顯示吐司消息 – KCN

+0

@KCN這就是我想要做的,真正的問題是,我應該如何檢測何時應顯示吐司? –

+0

如果卡未正確掃描Toast your message.Check卡掃描與否 – KCN

回答

1

不,Android只會在標籤成功讀取時通知應用程序,並且在標籤讀取被中斷/失敗時不提供任何通知。

在固定設備上,您可以使用動態修改框架(如Xposed)來修改NFC服務的行爲以檢測此類事件。例如,您可以掛接NFC服務的方法playSound()(請參閱NfcService.java:625),並檢查是否使用參數SOUND_ERROR調用了它(假設讀取失敗時播放聲音)。

但是,這隻能在NFC堆棧的低層向NFC系統服務通知標籤掃描時通知您的應用。如果讀取在NFC堆棧的較低部分中較早中斷,或者如果NFC控制器甚至沒有將有關標籤掃描的任何信息傳遞給主機系統,您仍然無法發現此情況。

+0

謝謝您的回答:) –