我正在使用IONIC 6和React以及Typescript和Capacitor 5.0在Windows 10和Java-17上开发移动的应用程序。应用使用Phonegap-nfc插件进行NFC通信。该应用程序在较旧的Android设备(Android 8.0)上运行良好,但当我尝试在较新的Android设备(Android 12)上编译时,它不工作并立即退出。
我已经尝试为电容器和 cordova 安装插件,但问题仍然存在。当我没有安装Phonegap-nfc插件时,应用程序可以正常工作,但当我安装它时,错误发生了。
我看了官方文档和其他页面,但我还没有找到解决方案。有没有人知道为什么会发生这种情况,以及我如何解决它?
1.如何解决在较新的Android设备上编译应用时出现的问题?
- Phonegap-nfc插件是否可能与较新的Android设备不兼容?
1.是否有其他解决方案可用于在较新的Android设备上与NFC通信?
1.在为较新的Android设备编译应用程序时,是否需要注意任何特殊配置?
1.我是否可以提供任何特定的错误消息来帮助解决问题?
使用phonegap-nfc插件,这是我的组件:NFC Component
1条答案
按热度按时间e4eetjau1#
参见https://github.com/chariotsolutions/phonegap-nfc/issues/478
和
https://github.com/chariotsolutions/phonegap-nfc/issues/465
但似乎这个插件不再维护了(尽管有应用了修复的分支)
Android 12中有一个变化,影响了通过Intents使用NFC的旧方式。在Android 12上使用Intent时,您必须指定它的可变性(NFC需要可变的Intents)请参阅https://developer.android.com/about/versions/12/behavior-changes-12#pending-intent-mutability因此,您可能需要更新的插件,希望它使用更新更好的方式在没有Intents的情况下使用NFC
有一个与此问题相关的修复程序,用于指定Intent的可变性。
您没有指定如何使用插件,但它确实提供了
readerMode
(https://github.com/chariotsolutions/phonegap-nfc#nfcreadermode),该插件不使用Intents,并且不受Android 12中更改的影响虽然Android 12 L中还有另一个变化,但插件无法正确处理(即使使用
readerMode
),并且有时会由于可能引发的新安全异常而导致崩溃。