2014-04-14 43 views
0

我使用chariotsolutions的PhoneGap的-NFC插件。在應用程序運行時讀取NFC標籤是沒有問題的。我註冊了意圖應用程序,以便在應用程序處於後臺並且讀取標記時開始。但是NdefListener沒有被解僱。有人知道如何通過意圖啓動應用程序時獲取標籤信息嗎?chariotsolutions的PhoneGap-NFC插件意圖

回答

0

您需要添加一個mime type listener度日意圖應用程序啓動時發射的nfcEvent。

您可以使用您所使用的NDEF監聽相同的事件處理程序,一切都只是事件類型相同。您不需要指定MIME類型。

nfc.addMimeTypeListener("", app.onNfc, success, failure);

這是一個有點古怪,但它的工作方式,因爲事件是如何在插件實現發射。

+0

非常感謝,這工作。但是有一個問題。當我註冊偵聽器時,將通過消息「無效的MIME類型」調用失敗回調。但是,即使出現這種錯誤,一切仍然正常這是一個錯誤? – user3266343

+0

爲了避免錯誤傳入像「text/bogus」這樣的有效MIME類型,或者因爲事情工作正常,您可以省略成功和失敗回調。這不是一個好的解決方案,但它可以解決設計缺陷。 – doncoleman

-1

把插件監聽NFC事件,但它只是通知先前已經從Javascript代碼註冊的JS回調。因此,您的網頁必須首先加載到webview中,然後cordova的加載事件必須已經被觸發,只有這樣您才能註冊回調。所以我認爲這個插件並不能解決你的問題。

要你需要,你可以添加NFC檢測能力的網絡活動(使用Java API),然後存儲在持久性(再次使用Java)的readed標籤信息,然後創建一個自定義科爾多瓦插件來閱讀這算什麼來自JS入口點的javascript信息(例如在「deviceready」事件回調中)。

+0

能否請您解釋一下你的意思「添加NFC功能檢測到Web活動」是什麼?什麼是Web活動,我需要在哪裏添加它?我對此很新。 – user3266343

+0

WebActivity是擴展CordovaActivity的類。它包含一個Web視圖,您的網頁被加載。您可以將NFC功能添加到您的應用,以便在標籤獲得時打開您的活動。但是你必須按常規方式來做(如果你正在開發一個非網絡Android應用程序)。讓它工作起來會很棘手。欲瞭解更多信息閱讀[這裏](http://developer.android.com/guide/topics/connectivity/nfc/index.html) –

+0

插件確實你需要什麼,你也不需要修改本機代碼。看到我的答案。 – doncoleman