[英]Make sure NFC is turned off in React Native
在我的 React Native 應用程序中,其中一個屏幕顯示 QR 碼。 該 QR 碼應放置在具有 NFC 功能的 QR 碼閱讀器中。
我的任務是確保 NFC 已關閉。 是的,我的應用程序沒有任何 NFC 特性或功能。 AndroidManifest 或 Info.plist 中未設置任何權限。
這只是 QR 碼提供商(來自荷蘭的 NS)的要求,以確保 NFC 已關閉。 怎么做?
是否有可能此時另一個應用程序以某種方式使用 NFC?
更新:
通常,問題在於 Apple Pay 和 Google Pay。 嘗試從屏幕掃描二維碼時,會彈出兩個支付應用程序,從而阻止讀取二維碼。
所以這個想法只是在使用我們的應用程序時禁用這些支付應用程序。
對於 iOS 可以使用權利https://developer.apple.com/documentation/passkit/pkpasslibrary/1617078-requestautomaticpasspresentation
還沒有為 Android 找到類似的東西。
Github https 上的相關問題://github.com/revtel/react-native-nfc-manager/issues/455
我必須在 RN 應用程序中使用 NFC 功能。 這是我用過的 package: https://github.com/revtel/react-native-nfc-manager 。 Android 上的設置很簡單,但在 iOS 上可能會很棘手: https://github.com/revtel/react-native-nfc-dmanager/blob/。
您有諸如isEnabled(): Promise<boolean>;
類的方法或isSupported(): Promise<boolean>;
. 我相信它們對你來說已經足夠了。
免責聲明:
我從未嘗試使用這些函數直接檢查:我通常檢查 state 中的更改,因為我需要發出一些警告。
此外,我不只是檢查開或關。 我使用某些東西是因為我需要確保 iPhone 可以使用 NFC 進行讀/寫(而不僅僅是支付)
try {
await NfcManager.isSupported(NfcTech.Iso15693IOS);
} catch (error) {
// set state = off and unsupported
所以 Apple Pay 和 Google Pay 的問題如下:
所以這個想法只是在使用我們的應用程序時禁用這些支付應用程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.